DXVA_QmatrixData-Struktur (dxva.h)

Die DXVA_QmatrixData-Struktur wird vom Hostdecoder an den Accelerator gesendet, um inverse Quantisierungsmatrixdaten für die Off-Host-Bitstream-komprimierte Videobilddecodierung zu laden.

Syntax

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

Member

bNewQmatrix[4]

Gibt an, welche neuen Inverse-Quantisierungsmatrizen in einem Invers-Quantisierungsmatrixpuffer vorhanden sind. Jedes Element in diesem Array entspricht einem Inverse-Quantisierungsmatrixtyp und gibt an, ob eine neue Invers-Quantisierungsmatrix dieses Typs im Puffer vorhanden ist. Wenn ein Element im bNewQmatrix-Array den Wert 1 enthält, folgt eine neue Invers-Quantisierungsmatrix des für dieses Arrayelement angegebenen Typs im Inverse-Quantisierungsmatrixpuffer. Die Inverse-Quantisierungsmatrizen, die verwendet werden können, sind wie folgt.

NewQmatrix-Element Inverse-Quantization Matrixtyp
0 Gibt die Intraleuchtanzquantisierung an.
1 Gibt die Interleuchtanzquantisierung an.
2 Gibt die Intrachrominanzquantisierung an.
3 Gibt die Chrominanzquantisierung an.

Der Wert in bNewQmatrix[0] und bNewQmatrix[1] darf nicht beide null sein.

Wenn der Wert für bNewQmatrix[2] oder bNewQmatrix[3] null ist, gilt Folgendes:

Wenn bNewQmatrix[i - 2] null ist, muss die vorherige durch das ith-Element definierte Inverse-Quantisierungsmatrix weiterhin vom Accelerator verwendet werden.

Wenn bNewQmatrix[i - 2] auf 1 festgelegt ist, wird die durch das i-tenElement definierte Inverse-Quantisierungsmatrix gleich der neuen Inverse-Quantisierungsmatrix für i - 2 festgelegt.

Qmatrix[4]

Ein zweidimensionales Array, das einen Umgekehrt-Quantisierungsmatrixpuffer angibt. Dieses Array ist nur für jedes Element in bNewQmatrix gleich 1 vorhanden. Die Matrix besteht aus (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) wörtern ohne Vorzeichen (in denen nur die unteren 8 Bits jedes Worts für die dominanten Videocodierungsstandards verwendet werden), wobei bBlockWidthMinus1 und bBlockHeightMinus1 Mitglieder der DXVA_PictureParameters-Struktur sind.

Hinweis Bei MPEG-2-Bitstreams befinden sich die Datenwerte in Qmatrix in der umgekehrten Scanreihenfolge im Zickzack, wie in unterklassige Version 7.3.1 und Abbildung 7-2 von MPEG-2 angegeben.
 

Hinweise

Wenn die Videocodierung keine Umgekehrt-Quantisierungsmatrizen benötigt (z. B. H.261 und H.263), dürfen inverse Quantisierungsmatrixpuffer nicht gesendet werden. Wenn die Videocodierung inverse-Quantisierungsmatrizen benötigt, muss ein Wert für diese Umgekehrt-Quantisierungsmatrizen vom Host vor oder in Verbindung mit der Übertragung von Bitstreamdatenpuffern zu Beginn des Videodecodierungsprozesses bereitgestellt werden.

Der Accelerator kann keine Standardwerte von Invers-Quantisierungsmatrizen annehmen, wenn kein vorheriger Wert vom Host gesendet wurde. Die Quantisierungsmatrixwerte müssen explizit gesendet werden, auch wenn sie Werte enthalten, die standardmäßig in der entsprechenden Videocodierungsspezifikation verfügbar sind.

Inverse-Quantisierungsmatrixpuffer werden nur gesendet, wenn der bConfigBitstreamRaw-Member der DXVA_ConfigPictureDecode-Struktur 1 ist.

Die Reihenfolge der Datenwerte innerhalb der Inverse-Quantisierungsmatrix ist in der entsprechenden Videocodierungsspezifikation angegeben.

Anforderungen

Anforderung Wert
Header dxva.h (dxva.h einschließen)

Weitere Informationen

DXVA_ConfigPictureDecode

DXVA_PictureParameters