Condividi tramite


DXVA_QmatrixData struttura (dxva.h)

La struttura DXVA_QmatrixData viene inviata dal decodificatore host all'acceleratore per caricare i dati della matrice di quantizzazione inversa per la decodifica video compressa a bitstream bitstream off-host.

Sintassi

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

Members

bNewQmatrix[4]

Indica quali nuove matrici di quantizzazione inversa sono presenti in un buffer matrice di quantizzazione inversa. Ogni elemento di questa matrice corrisponde a un tipo matrice di quantizzazione inversa e indica se una nuova matrice di quantizzazione inversa di tale tipo è presente nel buffer. Se qualsiasi elemento della matrice bNewQmatrix contiene un valore pari a 1, una nuova matrice di quantizzazione inversa del tipo specificato per tale elemento matrice segue nel buffer matrice inversa-quantizzazione. Le matrici di quantizzazione inversa che possono essere usate sono le seguenti.

Elemento NewQmatrix tipo matrice Inverse-Quantization
0 Specifica la quantizzazione della quantizzazione della luminanza interna.
1 Specifica la quantizzazione della quantizzazione tra luminanza.
2 Specifica la quantizzazione della quantizzazione intra-chrominance.
3 Specifica la quantizzazione della quantizzazione inter-chrominance.

Il valore in bNewQmatrix[0] e bNewQmatrix[1] non deve essere entrambi zero.

Se il valore per bNewQmatrix[2] o bNewQmatrix[3] è zero, si applica quanto segue:

Se bNewQmatrix[i - 2] è zero, la matrice di quantizzazione inversa precedente definita dall'elemento ithdeve continuare a essere usata dall'acceleratore.

Se bNewQmatrix[i - 2] è 1, la matrice di quantizzazione inversa definita dall'elemento ithè uguale alla nuova matrice di quantizzazione inversa per i - 2.

Qmatrix[4]

Matrice bidimensionale che specifica un buffer matrice di quantizzazione inversa. Questa matrice è presente solo per ogni elemento in bNewQmatrix uguale a 1. La matrice è costituita da (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) parole senza segno (in cui vengono usati solo i 8 bit inferiori di ogni parola per gli standard di codifica video dominante), dove bBlockWidthMinus1 e bBlockHeightMinus1 sono membri della struttura DXVA_PictureParameters .

Nota Per i bitstream MPEG-2, i valori di dati all'interno di Qmatrix sono in ordine di analisi inversa di zigzag, come specificato nella sottoclause 7.3.1 e figura 7-2 di MPEG-2.
 

Commenti

Se la codifica video non richiede matrici di quantizzazione inversa (ad esempio H.261 e H.263), non è necessario inviare buffer matrice inversa. Se la codifica video richiede matrici di quantizzazione inversa, è necessario specificare alcuni valori per queste matrici di quantizzazione inversa dall'host prima o in combinazione con il trasferimento di eventuali buffer di dati bitstream all'inizio del processo di decodifica video.

Nessun valore predefinito di matrici di quantizzazione inversa può essere assunto dall'acceleratore in assenza di alcun valore precedente inviato dall'host. I valori della matrice di quantizzazione devono essere inviati in modo esplicito, anche se contengono valori disponibili per impostazione predefinita nella specifica di codifica video pertinente.

I buffer matrice di quantizzazione inversa vengono inviati solo quando il membro bConfigBitstreamRaw della struttura DXVA_ConfigPictureDecode è 1.

L'ordine dei valori dei dati all'interno della matrice di quantizzazione inversa è specificato nella specifica di codifica video pertinente.

Requisiti

Requisito Valore
Intestazione dxva.h (include Dxva.h)

Vedi anche

DXVA_ConfigPictureDecode

DXVA_PictureParameters