创建压缩缓冲区和解码渲染器目标

Microsoft Direct3D 运行时调用用户模式显示驱动程序的 CreateResource 函数,以创建压缩缓冲区和呈现目标以供解码。

每种压缩缓冲区类型都有自己的图面格式以及一个特殊标志,指示运行时创建的图面包含用于加速视频解码的压缩缓冲区信息。 如果设置了 CreateResourcepResource 参数指向的 D3DDDIARG_CREATERESOURCE 结构的 Flags 成员中的 DecodeCompressedBuffer 位字段标志,则用户模式显示驱动程序将决定创建压缩缓冲区。 用户模式显示驱动程序确定由 D3DDDIARG_CREATERESOURCE 的 Format 成员中的格式值创建的压缩缓冲区的类型。 定义了以下格式:

D3DDDIFMT_PICTUREPARAMSDATA       = 150
D3DDDIFMT_MACROBLOCKDATA          = 151
D3DDDIFMT_RESIDUALDIFFERENCEDATA  = 152
D3DDDIFMT_DEBLOCKINGDATA          = 153
D3DDDIFMT_INVERSEQUANTIZATIONDATA = 154
D3DDDIFMT_SLICECONTROLDATA        = 155
D3DDDIFMT_BITSTREAMDATA           = 156

Direct3D 运行时在调用用户模式显示驱动程序的 CreateResource 函数时独立创建每个解码呈现器目标。 每个目标都作为单个资源的子资源索引引用。 如果设置了 D3DDDIARG_CREATERESOURCE 的 Flags 成员中的 DecodeRenderTarget 位字段标志,则用户模式显示驱动程序将确定创建解码呈现目标。