структура 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] равно нулю, то предыдущая матрица обратного квантования, определенная i-мэлементом, должна по-прежнему использоваться ускорителем.
Если значение bNewQmatrix[i - 2] равно 1, матрица обратного квантования, определяемая i-мэлементом, равна новой матрице обратного квантования для i – 2.
Qmatrix[4]
Двумерный массив, указывающий буфер матрицы обратного квантования. Этот массив присутствует только для каждого элемента в bNewQmatrix , равного 1. Матрица состоит из (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) неподписанных слов (в которых для доминирующих стандартов кодирования видео используются только нижние 8 битов каждого слова), где bBlockWidthMinus1 и bBlockHeightMinus1 являются членами структуры DXVA_PictureParameters .
Комментарии
Если кодирование видео не требует матриц с обратным квантованием (например, H.261 и H.263), матрицы обратного квантования не должны отправляться. Если кодирование видео требует матриц с обратным квантованием, для этих матриц с обратным квантованием узел должен предоставить некоторое значение до или в сочетании с передачей любых буферов данных битового потока в начале процесса декодирования видео.
Акселератор не может принимать значения по умолчанию для матриц обратного квантования при отсутствии каких-либо предыдущих значений, отправленных узлом. Значения матрицы квантования должны отправляться явно, даже если они содержат значения, доступные по умолчанию в соответствующей спецификации программирования видео.
Буферы матрицы обратного квантования отправляются только в том случае, если член bConfigBitstreamRaw структуры DXVA_ConfigPictureDecode равен 1.
Порядок значений данных в матрице обратного квантования указан в соответствующей спецификации кодирования видео.
Требования
Требование | Значение |
---|---|
Заголовок | dxva.h (включая Dxva.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по