D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE 是 Direct3D 12 中的一个结构体,它用于查询视频编码器堆大小的相关信息。这个结构体定义在头文件 d3d12video.h 中。

以下是该结构体的定义:
typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE {
  UINT NodeIndex;
  D3D12_VIDEO_ENCODER_CODEC Codec;
  DXGI_RATIONAL FrameRate;
  DXGI_RATIONAL BitRate;
  UINT Width;
  UINT Height;
  DXGI_FORMAT Format;
  UINT        EncoderProfile;
  D3D12_VIDEO_ENCODER_LEVEL_CODEC_LEVEL Level;
  D3D12_VIDEO_ENCODER_ENCODE_CONTROL_FLAGS EncodeControlFlags;
  D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE_FLAGS Flags;
  UINT64 Size;
} D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE;

各个字段的含义如下:

  •  NodeIndex: 用于指定 GPU 节点的索引。

  •  Codec: 指定视频编码器使用的编解码器。

  •  FrameRate: 指定视频帧率。

  •  BitRate: 指定视频比特率。

  •  Width 和 Height: 指定视频的宽度和高度。

  •  Format: 指定视频的格式。

  •  EncoderProfile: 指定视频编码器的配置文件。

  •  Level: 指定视频编码器的级别。

  •  EncodeControlFlags: 指定视频编码器的控制标志。

  •  Flags: 指定额外的标志。

  •  Size: 输出参数,返回视频编码器堆的大小。


通过填充这个结构体,并调用 ID3D12Device::CheckFeatureSupport 函数,可以查询支持的视频编码器堆的大小。


转载请注明出处:http://www.zyzy.cn/article/detail/26183/Win32 API/D3d12video.h/D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE