структура DXVA_QmatrixData (dxva.h)
Структура DXVA_QmatrixData отправляется декодером узла в акселератор для загрузки данных матрицы обратной квантизации для декодирования сжатого видеофайла вне узла.
Синтаксис
typedef struct _DXVA_QmatrixData {
BYTE bNewQmatrix[4];
WORD *Qmatrix[4][DXVA_USUAL_BLOCK_WIDTH DXVA_USUAL_BLOCK_HEIGHT];
} DXVA_QmatrixData, *LPDXVA_QmatrixData;
Члены
bNewQmatrix[4]
Указывает, какие новые матрицы инверсной квантизации присутствуют в буфере матрицы обратной квантизации. Каждый элемент в этом массиве соответствует типу матрицы инверсной квантизации и указывает, присутствует ли в буфере новая матрица инверсной квантизации этого типа. Если любой элемент в массиве bNewQmatrix содержит значение 1, новая матрица инверсной квантизации типа, указанного для этого элемента массива, следует в буфере матрицы обратной квантизации. Матрицы обратной квантизации, которые можно использовать следующим образом.
Элемент NewQmatrix | Тип матрицы Inverse-Quantization |
---|---|
0 | Задает внутрисияние квантизации. |
1 | Задает квантизацию между светящимися данными. |
2 | Задает внутрихроменную квантизацию. |
3 | Задает межхромную квантизацию. |
Значение в bNewQmatrix[0] и bNewQmatrix[1] не должно быть ни нулем.
Если значение для bNewQmatrix[2] или bNewQmatrix[3] равно нулю, то применяется следующее:
Если bNewQmatrix[i - 2] равно нулю, то предыдущая матрица обратной квантизации, определяемая элементом ith, должен продолжать использоваться акселератором.
Если bNewQmatrix[i - 2] равно 1, матрица обратной квантизации, определяемая элементом ith, имеет значение новой матрицы инверсной квантизации для i – 2.
Qmatrix[4]
Двухмерный массив, указывающий буфер матрицы обратной квантизации. Этот массив присутствует только для каждого элемента в bNewQmatrix равным 1. Матрица состоит из (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) неподписанных слов (в которых только ниже 1) Биты каждого слова используются для основных стандартов программирования видео), где bBlockWidthMinus1 и bBlockHeightMinus1 являются членами структуры DXVA_PictureParameters.
Замечания
Если кодирование видео не требует матрицы обратной квантизации (например, H.261 и H.263), буферы матрицы обратной квантизации не должны быть отправлены. Если кодирование видео нуждается в матрицах обратной квантизации, некоторые значения должны быть предоставлены для этих матриц обратно-квантизации хостом до или в сочетании с передачей любых буферов данных битового потока в начале процесса декодирования видео.
Никакие значения по умолчанию матрицы инверсной квантизации не могут приниматься акселератором в отсутствие какого-либо предыдущего значения, отправляемого узлом. Значения матрицы квантизации должны отправляться явно, даже если они содержат значения, доступные по умолчанию в соответствующей спецификации кода видео.
Буферы матрицы обратной квантизации отправляются только в том случае, если bConfigBitstreamRaw член структуры DXVA_ConfigPictureDecode равен 1.
Порядок значений данных в матрице обратной квантизации определяется в соответствующей спецификации кода видео.
Требования
Требование | Ценность |
---|---|
заголовка | dxva.h (include Dxva.h) |