структура 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_1 или DXVA_MBctrl_P_OffHostIDCT_1. TCoefIDX содержит число нулевых коэффициентов, предшествующих текущему коэффициенту в указанном порядке сканирования, после последнего передаваемого коэффициента для блока (или относительно начала блока, если ни один из них не предшествует ему). Все остальные коэффициенты после последнего отправленного коэффициента в обратном порядке сканирования подразумеваются для того, чтобы иметь значение 0.

Значение TCoefIDX всегда должно быть меньше 64.

TCoefValue[4]

Задает значение коэффициента в блоке. Перед передачей значения коэффициента в ускоритель для операции IDCT необходимо обрезать значение TCoefValue до соответствующего диапазона, указанного в разделе Элементы низкоуровневой обработки IDCT. Управление несоответствием MPEG-2, если это необходимо, также лежит на узле, а не на ускорителе (для этого может потребоваться создание дополнительных "фантомных" ненулевых коэффициентов).

Комментарии

Структура DXVA_TCoef4Group используется только в том случае, если для этих двух членов структуры DXVA_ConfigPictureDecode заданы следующие значения: bConfig4GroupedCoefs равно 1, а bConfigHostInverseScan равно нулю.

В структуре DXVA_TCoef4Group группы по четыре коэффициентам преобразования отправляются вместе со связанными значениями длины выполнения. I-йэлемент каждого массива в DXVA_TCoef4Group содержит элемент 3-i фактического коэффициента или списка длины выполнения (поэтому первый коэффициент или индекс переходит в элемент 3, следующий в элементе 2 и т. д.). Если для блока остается только NC4< ненулевых коэффициентов, которые необходимо отправить для блока, то значение TCoefIDX[i] должно быть равно 63 (шестнадцатеричное 0x3F), а значение TCoefValue[i] должно быть равно TCoefValue[4-NC] для i = от 0 до 3-NC.

Требования

Требование Значение
Заголовок dxva.h (включая Dxva.h)

См. также раздел

DXVA_ConfigPictureDecode