typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 {
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS Flags;
UINT8 BaselineProfile;
UINT8 MainProfile;
UINT8 HighProfile;
UINT8 StereoFormat;
UINT8 Level;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_CABAC Cabac;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_CONSTRAINED BaselineConstained;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_CONSTRAINED MainConstained;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_CONSTRAINED HighConstained;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_PICTURE_TYPE PictureType;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_HISTOGRAM Histogram;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_QUANTIZATION_LIST QuantizationList;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DEBLOCKING_FILTER_MODE DeblockingFilterMode;
UINT8 EnableAdaptiveQuantization;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_ADAPTIVE_QUANTIZATION AdaptiveQuantization;
UINT8 EnableConstrainedIntraPrediction;
UINT8 EnableReferencePictureSelection;
UINT8 EnableIndependentSliceControl;
UINT8 EnableROI;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_RATE_CONTROL_MODE RateControlMode;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_RATE_CONTROL_CTU_SIZE RateControlCTUSize;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_RATE_CONTROL_FLAG_FLAGS RateControlFlags;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_RATE_CONTROL_LAYOUT Layout;
UINT32 MaxNumReferenceFrames;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_INTRA_REFRESH_MODE IntraRefreshMode;
UINT32 IntraRefreshDuration;
UINT32 EnableSPSPPSTiming;
UINT32 SPSHeaderInterval;
UINT32 PPSHeaderInterval;
UINT32 EnableAUD;
UINT32 AUDInterval;
UINT32 EnableFillerData;
UINT32 FillEmptyData;
UINT32 AppendNALUStartCode;
UINT32 AppendEmulationByte;
UINT32 EnableLTR;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_LTR_MODE LTRMode;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_LTR_MODE LTRModeHint;
UINT32 MaxLTRFrames;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_LTR_MARKING_MODE LTRMarkingMode;
UINT32 FrameSizeToleranceMode;
UINT32 EnableAUDTiming;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_NALU_INSERTION_MODE NaluInsertionMode;
UINT32 MaxBytesPerSlice;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_ENTROPY_CODING_MODE EntropyCodingMode;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_LOOP_FILTER_MODE LoopFilterMode;
UINT32 ReferenceFrameInvalidationCycle;
UINT32 VideoUsabilityInfoFlags;
UINT32 MaxDecodedPictureBufferCount;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_INTRA_SLICE_MODE IntraSliceMode;
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264;
该结构的字段包含了许多 H.264 编码器的配置选项,比如编码模式、Profile、Level、Entropy Coding Mode 等等。这些参数用于定义视频编码的特性和性能。
转载请注明出处:http://www.pingtaimeng.com/article/detail/26201/Win32 API/D3d12video.h/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264