在 Win32 API 中,D3D11_VIDEO_DECODER_BUFFER_DESC 结构用于描述视频解码器的缓冲区属性。以下是该结构的定义:
typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC {
  UINT                      BufferType;
  UINT                      DataOffset;
  UINT                      DataSize;
  void                      *pIV;
  UINT                      IVSize;
  D3D11_VIDEO_DECODER_BUFFER_TYPE BufferIndex;
  UINT                      Reserved;
} D3D11_VIDEO_DECODER_BUFFER_DESC;

这个结构包含以下成员:

  •  BufferType: 表示缓冲区类型的值,可以是以下之一:

  - D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS: 图像参数缓冲区。
  - D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL: 宏块控制缓冲区。
  - D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE: 残差差异缓冲区。

  •  DataOffset: 表示缓冲区数据的偏移量。


  •  DataSize: 表示缓冲区数据的大小。


  •  pIV: 指向初始化向量 (Initialization Vector, IV) 数据的指针。


  •  IVSize: 表示初始化向量数据的大小。


  •  BufferIndex: 表示缓冲区的索引,可以是以下之一:

  - D3D11_VIDEO_DECODER_BUFFER_INDEX_INVALID: 无效的缓冲区索引。
  - D3D11_VIDEO_DECODER_BUFFER_INDEX_INPUT: 输入缓冲区。
  - D3D11_VIDEO_DECODER_BUFFER_INDEX_OUTPUT: 输出缓冲区。

  •  Reserved: 保留字段。


这个结构通常用于配置和管理视频解码器的缓冲区。在解码视频流时,应用程序可能需要创建不同类型的缓冲区,用于存储图像参数、宏块控制或残差差异等信息。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25723/Win32 API/D3d11.h/D3D11_VIDEO_DECODER_BUFFER_DESC