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.
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) |