DXVA2_DecodeBufferDesc 结构 (dxva2api.h)

描述从解码器发送到 DirectX 视频加速 (DXVA) 设备的缓冲区。

语法

typedef struct _DXVA2_DecodeBufferDesc {
  DWORD CompressedBufferType;
  UINT  BufferIndex;
  UINT  DataOffset;
  UINT  DataSize;
  UINT  FirstMBaddress;
  UINT  NumMBsInBuffer;
  UINT  Width;
  UINT  Height;
  UINT  Stride;
  UINT  ReservedBits;
  PVOID pvPVPState;
} DXVA2_DecodeBufferDesc;

成员

CompressedBufferType

标识传递给加速器的缓冲区的类型。 必须是以下值之一。

含义
DXVA2_PictureParametersBufferType
图片解码参数缓冲区。
DXVA2_MacroBlockControlBufferType
宏块控制命令缓冲区。
DXVA2_ResidualDifferenceBufferType
残差块数据缓冲区。
DXVA2_DeblockingControlBufferType
取消阻止筛选器控制命令缓冲区。
DXVA2_InverseQuantizationMatrixBufferType
反量化矩阵缓冲区。
DXVA2_SliceControlBufferType
切片控制缓冲区。
DXVA2_BitStreamDateBufferType
位流数据缓冲区。
DXVA2_MotionVectorBuffer
运动矢量缓冲区。
DXVA2_FilmGrainBuffer
胶片粒度合成数据缓冲区。

BufferIndex

保留。 设置为零。

DataOffset

指定相关数据与缓冲区开头的偏移量(以字节为单位)。 目前此值必须为零。

DataSize

指定缓冲区中相关数据的数量(以字节为单位)。 缓冲区中内容的最后一个字节的位置为 DataOffset + DataSize • 1。

FirstMBaddress

指定缓冲区中第一个宏块的宏块地址。 宏块地址按光栅扫描顺序提供。

NumMBsInBuffer

指定缓冲区中数据的宏块数。 此计数包括跳过的宏块。 如果数据缓冲区类型为下列值之一,则此值必须为零:图片解码参数、反量化矩阵、AYUV、IA44/AI44、DPXD、Highlight 或 DCCMD。

Width

保留。 设置为零。

Height

保留。 设置为零。

Stride

保留。 设置为零。

ReservedBits

保留。 设置为零。

pvPVPState

指向包含加密数据的初始化向量 (IV) 的字节数组的指针。 如果解码缓冲区不包含加密数据,请将此成员设置为 NULL。 如果解码缓冲区包含加密数据, 则 pvPVPState 的内容取决于加密的类型。 对于 D3DCRYPTOTYPE_AES128_CTRpvPVPState 成员指向 DXVA2_AES_CTR_IV 结构。

备注

此结构与 DXVA 1 中的 DXVA_BufferDescription 结构密切相关,但 DXVA 2 中不再使用某些字段。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 dxva2api.h

另请参阅

DirectX 视频加速 2.0

媒体基础结构