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 .
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour