D3D12DDIARG_CREATE_VIDEO_DECODER_HEAP_0033结构 (d3d12umddi.h)

用于为解码会话创建解码器对象。

语法

typedef struct D3D12DDIARG_CREATE_VIDEO_DECODER_HEAP_0033 {
  UINT                                     NodeMask;
  D3D12DDI_VIDEO_DECODE_CONFIGURATION_0020 Configuration;
  UINT                                     DecodeWidth;
  UINT                                     DecodeHeight;
  DXGI_FORMAT                              Format;
  DXGI_RATIONAL                            FrameRate;
  UINT                                     BitRate;
  UINT                                     MaxDecodePictureBufferCount;
} D3D12DDIARG_CREATE_VIDEO_DECODER_HEAP_0033;

成员

NodeMask

对于单个 GPU作,请将此项设置为零。 如果有多个 GPU 节点,请设置一个位来标识命令队列应用到的节点(设备的物理适配器)。 掩码中的每个位对应于单个节点。 只能设置 1 位。

Configuration

解码配置文件和比特流加密。 请参阅D3D12DDI_VIDEO_DECODE_CONFIGURATION。

DecodeWidth

要解码的位流的解码宽度。

DecodeHeight

要解码的位流的解码高度。

Format

资源数据格式。

FrameRate

输入视频流的帧速率。

BitRate

压缩视频流的每秒数据压缩率。

MaxDecodePictureBufferCount

此流可以具有的最大解码图片缓冲区数。

言论

解码器堆保存解码会话的分配,并可能包含状态,包括引用相关数据(如运动向量)。 如果解析更改或 MaxDecodePictureBufferCount 更改,则会创建此对象的新实例。 当这些属性发生更改时,它特定于编解码器。

解码宽度和高度指定任何刻度之前的本机流分辨率。 最大解码图片缓冲区(DPB)计数指定最大 DPB 计数,无需重新创建视频解码流即可使用。

驱动程序可以使用比特率和 FrameRate 参数来告知启发法,例如中间分配大小或性能优化。

如果比特率和 FrameRate 值不足以用于视频流,则解码帧可能会失败。 如果解码失败,则查询D3D12DDI_QUERY_TYPE_VIDEO_DECODE_STATISTICS必须返回状态D3D12DDI_VIDEO_DECODE_STATUS_RATE_EXCEEDED。

比特率和 FrameRate 参数也可以设置为零。 使用这些值时,驱动程序必须做出最坏的情况假设,并且不允许D3D12DDI_VIDEO_DECODE_STATUS_RATE_EXCEEDED失败。

要求

要求 价值
标头 d3d12umddi.h