次の方法で共有


圧縮バッファーおよびデコード レンダー ターゲットの作成

Microsoft Direct3D ランタイムは、ユーザー モード ディスプレイ ドライバーの CreateResource 関数を呼び出して、デコード用の圧縮バッファーとレンダー ターゲットを作成します。

各圧縮バッファーの種類には、独自のサーフェイス形式と、ランタイムが作成するサーフェイスに高速ビデオ デコード用の圧縮バッファー情報が含まれていることを示す特別なフラグがあります。 ユーザー モード ディスプレイ ドライバーで、CreateResourcepResource パラメーターが指す D3DDDIARG_CREATERESOURCE 構造体の Flags メンバーのDecodeCompressedBuffer ビット フィールド フラグが設定されている場合に、圧縮バッファーを作成することを判断します。 ユーザー モード ディスプレイ ドライバーは、D3DDDIARG_CREATERESOURCE のFormat メンバーのフォーマット値によって作成された圧縮バッファーのタイプを決定します。 次のフォーマットが定義されています。

D3DDDIFMT_PICTUREPARAMSDATA       = 150
D3DDDIFMT_MACROBLOCKDATA          = 151
D3DDDIFMT_RESIDUALDIFFERENCEDATA  = 152
D3DDDIFMT_DEBLOCKINGDATA          = 153
D3DDDIFMT_INVERSEQUANTIZATIONDATA = 154
D3DDDIFMT_SLICECONTROLDATA        = 155
D3DDDIFMT_BITSTREAMDATA           = 156

Direct3D ランタイムは、ユーザー モード ディスプレイ ドライバーの CreateResource 関数の呼び出しで、各デコード レンダー ターゲットを個別に作成します。 各ターゲットは、1 つのリソースのサブリソース インデックスとして参照されます。 ユーザー モード ディスプレイ ドライバーは、D3DDDIARG_CREATERESOURCE の Flags メンバーの DecodeRenderTarget ビット フィールド フラグが設定されている場合に、デコード レンダー ターゲットを作成することを決定します。