D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 是用于配置 Direct3D 12 视频编码器的结构,专门用于 H.264 编码。这个结构定义了 H.264 编码器的一些配置参数。以下是该结构的基本信息:
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