Freigeben über


DXVA_QmatrixData Struktur (dxva.h)

Die DXVA_QmatrixData Struktur wird vom Hostdecoder an die Zugriffstaste gesendet, um Inverse-Quantisierungsmatrixdaten für off-host-bitstreamkomprimierte 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;

Angehörige

bNewQmatrix[4]

Gibt an, welche neuen Inverse-Quantization-Matrizen in einem Inverse-Quantization-Matrixpuffer vorhanden sind. Jedes Element in diesem Array entspricht einem Inverse-Quantization-Matrixtyp und gibt an, ob eine neue Inverse-Quantisierungsmatrix dieses Typs im Puffer vorhanden ist. Wenn ein Element im bNewQmatrix Array einen Wert von 1 enthält, folgt eine neue Inverse-Quantisierungsmatrix des Typs, der für dieses Arrayelement angegeben ist, im Inverse-Quantization-Matrixpuffer. Die umgekehrten Quantisierungsmatrizen, die verwendet werden können, sind wie folgt.

NewQmatrix-Element Inverse-Quantization Matrixtyp
0 Gibt die Intra-Luminance-Quantisierung an.
1 Specifies inter-luminance quantization.
2 Gibt die Intrachrominanz quantisierung an.
3 Gibt die Interchrominanz quantisierung 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 inverse Quantisierungsmatrix, die durch die ith-Element definiert wird, weiterhin von der Zugriffstaste verwendet werden.

Wenn bNewQmatrix[i - 2] 1 ist, wird die durch die ith-Element definierte Inverse-Quantisierungsmatrix für i - 2 festgelegt.

Qmatrix[4]

Ein zweidimensionales Array, das einen Inverse-Quantization-Matrixpuffer angibt. Dieses Array ist nur für jedes Element in bNewQmatrix gleich 1 vorhanden. Die Matrix besteht aus (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) nicht signierte Wörter (in denen nur die untere 1 8 Bits jedes Worts werden für die dominanten Videocodierungsstandards verwendet, wobei bBlockWidthMinus1 und bBlockHeightMinus1 Member der DXVA_PictureParameters-Struktur sind.

Hinweis Bei MPEG-2-Bitstreams befinden sich die Datenwerte in Qmatrix in umgekehrter Scanreihenfolge, wie in Subclause 7.3.1 und Abbildung 7-2 von MPEG-2 angegeben.
 

Bemerkungen

Wenn die Videocodierung keine umgekehrten Quantisierungsmatrizen (z. B. H.261 und H.263) benötigt, dürfen umgekehrte Quantisierungsmatrixpuffer nicht gesendet werden. Wenn die Videocodierung umgekehrte Quantisierungsmatrizen benötigt, müssen einige Werte für diese Inverse-Quantisierungsmatrizen vom Host vor oder in Verbindung mit der Übertragung von Bitstreamdatenpuffern zu Beginn des Videodecodierungsprozesses bereitgestellt werden.

Es können keine Standardwerte von Inverse-Quantisierungsmatrizen von der Zugriffstaste angenommen werden, 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 relevanten Videocodierungsspezifikation verfügbar sind.

Umgekehrte Quantisierungsmatrixpuffer werden nur gesendet, wenn das bConfigBitstreamRaw Element der DXVA_ConfigPictureDecode Struktur 1 ist.

Die Reihenfolge der Datenwerte innerhalb der Inverse-Quantisierungsmatrix wird wie in der relevanten Videocodierungsspezifikation angegeben.

Anforderungen

Anforderung Wert
Header- dxva.h (include Dxva.h)

Siehe auch

DXVA_ConfigPictureDecode

DXVA_PictureParameters