次の方法で共有


DXVA2_DecodeBufferDesc 構造体 (dxva2api.h)

デコーダーから DirectX ビデオ アクセラレーション (DXVA) デバイスに送信されるバッファーについて説明します。

構文

typedef struct _DXVA2_DecodeBufferDesc {
  DWORD CompressedBufferType;
  UINT  BufferIndex;
  UINT  DataOffset;
  UINT  DataSize;
  UINT  FirstMBaddress;
  UINT  NumMBsInBuffer;
  UINT  Width;
  UINT  Height;
  UINT  Stride;
  UINT  ReservedBits;
  PVOID pvPVPState;
} DXVA2_DecodeBufferDesc;

メンバー

CompressedBufferType

アクセラレータに渡されるバッファーの種類を識別します。 次のいずれかの値を指定する必要があります。

意味
DXVA2_PictureParametersBufferType
画像デコード パラメーター バッファー。
DXVA2_MacroBlockControlBufferType
Macroblock コントロールのコマンド バッファー。
DXVA2_ResidualDifferenceBufferType
残差ブロック データ バッファー。
DXVA2_DeblockingControlBufferType
フィルター 制御コマンド バッファーのブロック解除。
DXVA2_InverseQuantizationMatrixBufferType
逆量子化行列バッファー。
DXVA2_SliceControlBufferType
スライス コントロール バッファー。
DXVA2_BitStreamDateBufferType
ビットストリーム データ バッファー。
DXVA2_MotionVectorBuffer
モーション ベクター バッファー。
DXVA2_FilmGrainBuffer
フィルムグレイン合成データ バッファー。

BufferIndex

予約済み。 0 に設定します。

DataOffset

バッファーの先頭からの関連データのオフセットをバイト単位で指定します。 現在、この値は 0 である必要があります。

DataSize

バッファー内の関連データの量をバイト単位で指定します。 バッファー内のコンテンツの最後のバイトの場所は 、DataOffset + DataSize - 1 です。

FirstMBaddress

バッファー内の最初のマクロ ブロックのマクロ ブロック アドレスを指定します。 マクロブロック アドレスはラスター スキャンの順序で指定されます。

NumMBsInBuffer

バッファー内のデータのマクロ ブロックの数を指定します。 この数には、スキップされたマクロブロックが含まれます。 データ バッファーの種類が画像デコード パラメーター、逆量子化行列、AYUV、IA44/AI44、DPXD、Highlight、DCCMD のいずれかである場合、この値は 0 である必要があります。

Width

予約済み。 0 に設定します。

Height

予約済み。 0 に設定します。

Stride

予約済み。 0 に設定します。

ReservedBits

予約済み。 0 に設定します。

pvPVPState

暗号化されたデータの初期化ベクトル (IV) を含むバイト配列へのポインター。 デコード バッファーに暗号化されたデータが含まれていない場合は、このメンバーを NULL に設定します。 デコード バッファーに暗号化されたデータが含まれている場合、 pvPVPState の内容は暗号化の種類によって異なります。 D3DCRYPTOTYPE_AES128_CTRの場合、pvPVPState メンバーはDXVA2_AES_CTR_IV構造体を指します。

解説

この構造は DXVA 1 の DXVA_BufferDescription 構造に密接に対応していますが、一部のフィールドは DXVA 2 では使用されなくなりました。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header dxva2api.h

関連項目

DirectX ビデオ アクセラレータ 2.0

Media Foundation Structures