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 计数。

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

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

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

要求

要求
Header d3d12umddi.h