estructura DXVA_QmatrixData (dxva.h)

El descodificador del host envía la estructura DXVA_QmatrixData al acelerador para cargar datos de matriz de cuantificación inversa para la descodificación de imágenes de vídeo comprimidas de secuencias de bits fuera del host.

Sintaxis

typedef struct _DXVA_QmatrixData {
  BYTE bNewQmatrix[4];
  WORD *Qmatrix[4][DXVA_USUAL_BLOCK_WIDTH  DXVA_USUAL_BLOCK_HEIGHT];
} DXVA_QmatrixData, *LPDXVA_QmatrixData;

Miembros

bNewQmatrix[4]

Indica qué nuevas matrices de cuantificación inversa están presentes en un búfer de matriz de cuantificación inversa. Cada elemento de esta matriz corresponde a un tipo de matriz de cuantificación inversa e indica si existe una nueva matriz de cuantificación inversa de ese tipo en el búfer. Si algún elemento de la matriz bNewQmatrix contiene un valor de 1, una nueva matriz de cuantificación inversa del tipo especificado para ese elemento de matriz sigue en el búfer de matriz inversa-cuantificación. Las matrices de cuantificación inversa que se pueden usar son las siguientes.

Elemento NewQmatrix Tipo de matriz de Inverse-Quantization
0 Especifica la cuantificación dentro de la luminancia.
1 Especifica la cuantificación entre luminancias.
2 Especifica la cuantificación intracromática.
3 Especifica la cuantificación entre cromomáticas.

El valor de bNewQmatrix[0] y bNewQmatrix[1] no debe ser cero.

Si el valor de bNewQmatrix[2] o bNewQmatrix[3] es cero, se aplica lo siguiente:

Si bNewQmatrix[i - 2] es cero, el acelerador debe seguir usando la matriz de cuantificación inversa anterior definida por el elemento i.

Si bNewQmatrix[i - 2] es 1, la matriz de cuantificación inversa definida por el elemento ise establece igual a la nueva matriz de cuantificación inversa para i - 2.

Qmatrix[4]

Matriz bidimensional que especifica un búfer de matriz de cuantificación inversa. Esta matriz solo está presente para cada elemento de bNewQmatrix igual a 1. La matriz consta de (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) palabras sin signo (en las que solo se usan los 8 bits inferiores de cada palabra para los estándares de codificación de vídeo dominantes), donde bBlockWidthMinus1 y bBlockHeightMinus1 son miembros de la estructura DXVA_PictureParameters .

Nota En el caso de las secuencias de bits MPEG-2, los valores de datos de Qmatrix están en orden de examen inverso zigzag, como se especifica en subclause 7.3.1 y la figura 7-2 de MPEG-2.
 

Comentarios

Si la codificación de vídeo no necesita matrices de cuantificación inversa (por ejemplo, H.261 y H.263), no se deben enviar búferes de matriz de cuantificación inversa. Si la codificación de vídeo necesita matrices de cuantificación inversa, se debe proporcionar algún valor para estas matrices de cuantificación inversa por parte del host antes de, o junto con, la transferencia de los búferes de datos de secuencia de bits al principio del proceso de descodificación de vídeo.

El acelerador no puede asumir ningún valor predeterminado de matrices de cuantificación inversa en ausencia de ningún valor anterior enviado por el host. Los valores de matriz de cuantificación se deben enviar explícitamente, incluso si contienen valores que están disponibles de forma predeterminada en la especificación de codificación de vídeo pertinente.

Los búferes de matriz de cuantificación inversa solo se envían cuando el miembro bConfigBitstreamRaw de la estructura DXVA_ConfigPictureDecode es 1.

El orden de los valores de datos dentro de la matriz de cuantificación inversa es el especificado en la especificación de codificación de vídeo pertinente.

Requisitos

Requisito Valor
Header dxva.h (incluir Dxva.h)

Consulte también

DXVA_ConfigPictureDecode

DXVA_PictureParameters