DXVA_PicParams_MJPEG结构(dxva.h)

DXVA_PicParams_MJPEG 结构为 MJPEG 视频解码提供压缩图片的图片级参数。

语法

typedef struct _DXVA_PicParams_MJPEG {
  UINT   width;
  UINT   height;
  UCHAR  numComponents;
  UCHAR  bitDepth;
  USHORT reserved16Bits;
  UCHAR  quantizationTableSelector[4];
  UINT   scanOffset[4];
  UINT   scanSize[4];
  UCHAR  componentIdentifier[4];
  USHORT restartInterval;
  USHORT reserved16Bits2;
  UINT   reserved32Bits;
  UINT   statusReportFeedbackNumber;
} DXVA_PicParams_MJPEG, *LPDXVA_PicParams_MJPEG;

成员

width

当前帧的编码宽度。 此值对应于 JPEG 规范中的帧标头值 X。 它必须是 8 的倍数,才能与 JPEG 的宏块大小保持一致。

height

当前帧的编码高度。 此值对应于 JPEG 规范中的 Frame Header 值 Y。 它必须是 8 的倍数,才能与 JPEG 的宏块大小保持一致。

numComponents

图像数据中的颜色组件数。 允许的值受配置文件值限制。 此值对应于 JPEG 规范中的帧标头值 Nf(帧中的图像组件数)。

bitDepth

帧组件中样本的精度(位)。 允许的值受配置文件值限制。 此值对应于 JPEG 规范中的帧标头值 P(样本精度)。

reserved16Bits

保留供将来使用;设置为零。

quantizationTableSelector[4]

四个值数组,用于为每个组件选择量化表。 每个值对应于规范中的 Tqi 的值。 根据配置文件值限制引用的量化表数。 组件始终按顺序排列:Y、Cb、Cr、A。

scanOffset[4]

查找图像中每个扫描 i 的压缩位流数据。 具体而言,这是与规范中 SOS 标记(含)的位流缓冲区开始的字节偏移量。

scanSize[4]

与每个扫描 i关联的位流数据缓冲区中的字节数。

componentIdentifier[4]

对于映像中四个组件中的每一个,指定扫描标头(SOS)用于标识组件的标识符。 此值对应于 JPEG 规范中的 Frame Header 值 Ci。 组件始终按顺序排列:Y、Cb、Cr、A。

restartInterval

JPEG 解码器的重启间隔。

reserved16Bits2

保留以供将来使用和对齐。

reserved32Bits

保留以供将来使用和对齐。

statusReportFeedbackNumber

由主机解码器设置的任意数字,用作状态报告反馈数据中的标记。 该值不应等于 0,并且应在每次调用 Execute 时都不同。

言论

当缓冲区类型 D3D12_VIDEO_DECODE_ARGUMENT_TYPE_PICTURE_PARAMETERS D3D12 和 D3D11 中的 D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS 时,此结构用于 MJPEG 视频编码。

在 DXVA 中,组件始终具有以下排序:Y、Cb、Cr、A。

要求

要求 价值
最低支持的客户端 Windows 11,版本 24H2
标头 dxva.h

另请参阅

D3D12_VIDEO_DECODE_ARGUMENT_TYPE

D3D11_VIDEO_DECODER_BUFFER_TYPE