次の方法で共有


DXVA_QmatrixData構造体 (dxva.h)

DXVA_QmatrixData構造は、ホスト デコーダーによってアクセラレータに送信され、オフホスト ビットストリーム圧縮ビデオ画像デコード用の逆量子化マトリックス データを読み込みます。

構文

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

メンバーズ

bNewQmatrix[4]

逆量子化行列バッファーに存在する新しい逆量子化行列を示します。 この配列内の各要素は、逆量子化行列型に対応し、その型の新しい逆量子化行列がバッファーに存在するかどうかを示します。 bNewQmatrix 配列内の要素に値 1 が含まれている場合、その配列要素に指定された型の新しい逆量子化行列が逆量子化行列バッファーの後に続きます。 使用できる逆量子化行列は次のとおりです。

NewQmatrix 要素 Inverse-Quantization マトリックス型
0 輝度内量子化を指定します。
1 輝度間量子化を指定します。
2 クロミナンス内量子化を指定します。
3 クロスクロミナンス量子化を指定します。

bNewQmatrix[0] と bNewQmatrix[1] の値の両方を 0 にすることはできません。

bNewQmatrix[2] または bNewQmatrix[3] の値が 0 の場合、次が適用されます。

bNewQmatrix[i - 2] が 0 の場合、i番目の要素によって定義された前の逆量子化行列は、アクセラレータによって引き続き使用される必要があります。

bNewQmatrix[i - 2] が 1 の場合、i番目の要素で定義される逆量子化行列は、i - 2 の新しい逆量子化行列と等しく設定されます。

Qmatrix[4]

逆量子化行列バッファーを指定する 2 次元配列。 この配列は、bNewQmatrix 1 に等しい各要素にのみ存在します。 行列は、(bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) の符号なし単語 (下位 8 個のみ) で構成されます bBlockWidthMinus1 bBlockHeightMinus1DXVA_PictureParameters 構造のメンバーである場合は、各単語のビットが主要なビデオ コーディング標準に使用されます。

MPEG-2 ビットストリームの場合、MPEG-2 のサブクラウス 7.3.1 および図 7-2 で指定されているように、Qmatrix 内のデータ値は、ジグザグ逆スキャン順になります。
 

備考

ビデオ コーディングで逆量子化行列 (H.261 や H.263 など) が必要ない場合は、逆量子化行列バッファーを送信しないでください。 ビデオ コーディングで逆量子化マトリックスが必要な場合は、ビデオ デコード プロセスの開始時にビットストリーム データ バッファーを転送する前または同時に、ホストがこれらの逆量子化マトリックスに対して何らかの値を指定する必要があります。

ホストから送信された以前の値がない場合、アクセラレータでは逆量子化行列の既定値を想定できません。 量子化マトリックス値は、関連するビデオ コーディング仕様で既定で使用可能な値が含まれている場合でも、明示的に送信する必要があります。

逆量子化行列バッファーは、DXVA_ConfigPictureDecode 構造体の bConfigBitstreamRaw メンバーが 1 の場合にのみ送信されます。

逆量子化行列内のデータ値の順序は、関連するビデオ コーディング仕様で指定されています。

必要条件

要件 価値
ヘッダー dxva.h (Dxva.h を含む)

関連項目

DXVA_ConfigPictureDecode

DXVA_PictureParameters