structure DXVA_QmatrixData (dxva.h)

La structure DXVA_QmatrixData est envoyée par le décodeur hôte à l’accélérateur pour charger les données de matrice de quantification inverse pour le décodage d’images vidéo compressées hors de l’hôte.

Syntaxe

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

Membres

bNewQmatrix[4]

Indique quelles nouvelles matrices de quantisation inverse sont présentes dans une mémoire tampon de matrice de quantisation inverse. Chaque élément de ce tableau correspond à un type de matrice de quantisation inverse et indique si une nouvelle matrice de quantisation inverse de ce type est présente dans la mémoire tampon. Si un élément du tableau bNewQmatrix contient la valeur 1, une nouvelle matrice de quantisation inverse du type spécifié pour cet élément de tableau suit la mémoire tampon de la matrice de quantisation inverse. Les matrices de quantisation inverse qui peuvent être utilisées sont les suivantes.

Élément NewQmatrix Inverse-Quantization type de matrice
0 Spécifie la quantification intra-luminance.
1 Spécifie la quantification inter-luminance.
2 Spécifie la quantification intra-chrominance.
3 Spécifie la quantification entre chrominances.

La valeur dans bNewQmatrix[0] et bNewQmatrix[1] ne doit pas être égale à zéro.

Si la valeur de bNewQmatrix[2] ou bNewQmatrix[3] est égale à zéro, les conditions suivantes s’appliquent :

Si bNewQmatrix[i - 2] est égal à zéro, la matrice de quantisation inverse précédente définie par l’élément iième doit continuer à être utilisée par l’accélérateur.

Si bNewQmatrix[i - 2] a la valeur 1, la matrice de quantisation inverse définie par l’élément iest définie comme étant égale à la nouvelle matrice de quantisation inverse pour i - 2.

Qmatrix[4]

Tableau à deux dimensions qui spécifie une mémoire tampon de matrice de quantisation inverse. Ce tableau est présent uniquement pour chaque élément dans bNewQmatrix égal à 1. La matrice se compose de (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) mots non signés (dans lesquels seuls les 8 bits inférieurs de chaque mot sont utilisés pour les normes de codage vidéo dominantes), où bBlockWidthMinus1 et bBlockHeightMinus1 sont membres de la structure DXVA_PictureParameters .

Note Pour les flux mpeg-2 bits, les valeurs de données dans Qmatrix sont dans l’ordre d’analyse inverse en zigzag, comme spécifié dans le sous-article 7.3.1 et la figure 7-2 de MPEG-2.
 

Remarques

Si le codage vidéo n’a pas besoin de matrices de quantisation inverse (par exemple, H.261 et H.263), les mémoires tampons de matrice de quantation inverse ne doivent pas être envoyées. Si le codage vidéo a besoin de matrices de quantisation inverse, une valeur doit être fournie pour ces matrices de quantisation inverse par l’hôte avant ou conjointement avec le transfert des mémoires tampons de données de flux de bits au début du processus de décodage vidéo.

Aucune valeur par défaut des matrices de quantisation inverse ne peut être assumée par l’accélérateur en l’absence d’une valeur antérieure envoyée par l’hôte. Les valeurs de la matrice de quantification doivent être envoyées explicitement, même si elles contiennent des valeurs disponibles par défaut dans la spécification de codage vidéo appropriée.

Les mémoires tampons de matrice de quantation inverse sont envoyées uniquement lorsque le membre bConfigBitstreamRaw de la structure DXVA_ConfigPictureDecode est 1.

L’ordre des valeurs de données dans la matrice de quantisation inverse est spécifié dans la spécification de codage vidéo pertinente.

Configuration requise

Condition requise Valeur
En-tête dxva.h (inclure Dxva.h)

Voir aussi

DXVA_ConfigPictureDecode

DXVA_PictureParameters