DXVA_TCoef4Group 结构 (dxva.h)

DXVA_TCoef4Group结构由主机解码器发送到加速器,以指定 IDCT 系数值。

语法

typedef struct _DXVA_TCoef4Group {
  BYTE  TCoefIDX[4];
  SHORT TCoefValue[4];
} DXVA_TCoef4Group, *LPDXVA_TCoef4Group;

成员

TCoefIDX[4]

指定块中系数的扫描索引。 表示为当前系数之前的零值系数数,其扫描顺序由 MBscanMethod 变量指定的 (位 6 位和 7 的宏块控制命令) 的 wMBtype 成员。 这些命令在以下结构中定义: DXVA_MBctrl_I_OffHostIDCT_1DXVA_MBctrl_P_OffHostIDCT_1TCoefIDX 包含以指定扫描顺序在当前系数之前的零值系数数,该系数位于块 (的最后一个传输系数之后,或者相对于块的起始点(如果没有在块) 之前)。 在逆扫描顺序中最后一个发送系数之后的任何剩余系数都意味着值为 0。

TCoefIDX 必须始终小于 64。

TCoefValue[4]

指定块中系数的值。 必须将 TCoefValue 裁剪到主机在低级别 IDCT 处理元素中指定的相应范围,然后才能将系数值传递给用于 IDCT 操作的加速器。 如有必要,MPEG-2 不匹配控制也是主机的责任,而不是加速器 (这可能需要创建额外的“虚拟”非零系数) 。

注解

仅当DXVA_ConfigPictureDecode结构的这两个成员设置为以下值时,才使用 DXVA_TCoef4Group 结构:bConfig4GroupedCoefs 为 1,bConfigHostInverseScan 为零。

在DXVA_TCoef4Group结构中,将四个转换系数组与关联的运行长度值一起发送。 DXVA_TCoef4Group中每个数组的第 i个元素包含实际系数或运行长度列表 (的元素 3-i ,因此第一个系数或索引进入元素 3,下一个系数或索引进入元素 2,依此类推) 。 如果只需要为块发送 NC< 4 非零系数,则 TCoefIDX[i] 必须为 63 (十六进制0x3F) ,并且 TCoefValue[i] 对于 i = 0 到 3-N C,TCoefValue[i] 必须等于 TCoefValue[4-N C]。

要求

要求
Header dxva.h (包括 Dxva.h)

另请参阅

DXVA_ConfigPictureDecode