DXVA_TCoef4Group構造体 (dxva.h)
DXVA_TCoef4Group構造体は、IDCT 係数値を指定するために、ホスト デコーダーによってアクセラレータに送信されます。
構文
typedef struct _DXVA_TCoef4Group {
BYTE TCoefIDX[4];
SHORT TCoefValue[4];
} DXVA_TCoef4Group, *LPDXVA_TCoef4Group;
メンバー
TCoefIDX[4]
ブロック内の係数のスキャン インデックスを指定します。 MBscanMethod 変数で指定されたスキャン順序で現在の係数の前にあるゼロ値係数の数として表されます (macroblock 制御コマンドの wMBtype メンバーのビット 6 と 7)。 これらのコマンドは、 DXVA_MBctrl_I_OffHostIDCT_1 または DXVA_MBctrl_P_OffHostIDCT_1の構造で定義されます。 TCoefIDX には、指定したスキャン順序で現在の係数の前にある 0 値の係数の数が含まれます。これは、ブロックの最後の送信係数の後 (または、ブロックの先頭に先行しない場合はブロックの開始に対する相対係数) です。 逆スキャン順序で最後に送信された係数の後の残りの係数は、値 0 を持つことが暗黙的に示されます。
TCoefIDX は 常に 64 未満である必要があります。
TCoefValue[4]
ブロック内の係数の値を指定します。 TCoefValue は、IDCT 操作のアクセラレータに係数値を渡す前に、ホストによって 低レベル IDCT 処理要素 で指定されている適切な範囲にクリップする必要があります。 MPEG-2 不一致制御は、必要に応じて、アクセラレータではなくホストの責任でもあります (これには、追加の "ファントム" ゼロ以外の係数の作成が必要になる場合があります)。
注釈
DXVA_TCoef4Group構造体は、 DXVA_ConfigPictureDecode 構造体のこれら 2 つのメンバーが次の値に設定されている場合にのみ使用されます。 bConfig4GroupedCoefs は 1、 bConfigHostInverseScan は 0 です。
DXVA_TCoef4Group構造体では、4 つの変換係数のグループが、関連付けられた実行長の値と共に送信されます。 DXVA_TCoef4Groupの各配列の i番目の要素には、実際の係数または実行長リストの要素 3-i が含まれています (そのため、最初の係数またはインデックスは要素 3、次の要素 2 など)。 ブロックに対して送信する必要がある NC< 4 以外の係数のみが残っている場合、TCoefIDX[i] は 63 (16 進数の0x3F)、TCoefValue[i] は i = 0 から 3-NC の TCoefValue[4-NC] と等しい必要があります。
要件
要件 | 値 |
---|---|
Header | dxva.h (Dxva.h を含む) |