PFND3DDDI_DECODEEXECUTE コールバック関数 (d3dumddi.h)
DecodeExecute 関数は、指定された Microsoft DirectX ビデオ アクセラレータ (VA) デコード デバイスを使用してデコード操作を実行します。
構文
PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;
HRESULT Pfnd3dddiDecodeexecute(
HANDLE hDevice,
const D3DDDIARG_DECODEEXECUTE *unnamedParam2
)
{...}
パラメーター
hDevice
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
unnamedParam2
pData [in]
実行する DirectX VA デコード操作を記述する D3DDDIARG_DECODEEXECUTE 構造体へのポインター。
戻り値
DecodeExecute は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
S_OK | DirectX VA デコード操作が正常に実行されました。 |
E_OUTOFMEMORY | DecodeExecute が完了するために必要なメモリを割り当てませんでした。 |
注釈
Microsoft Direct3D ランタイムは、標準の DirectX VA デコード操作すべてに対して DecodeExecute 関数を呼び出します。 フレームごとに DecodeExecute が最初に呼び出される場合、pData で指定されるD3DDDIARG_DECODEEXECUTE構造体には、フレームのデコードに必要なすべてのバッファー情報が含まれている必要があります。 DecodeExecute は、その後、同じフレームに対して呼び出すことができます。ただし、これらの呼び出しには増分データのみが必要です。 特定の DirectX VA デコード型の GUID で、D3DDDIARG_DECODEEXECUTEで指定されたバッファーが使用されていない場合、バッファーのハンドルと説明は NULL に設定されます。 たとえば、MPEG2 デコードの種類にはピクチャ パラメーター、マクロブロック バッファー、および残差バッファーが必要であるため、これらの項目はすべて各フレームの最初の呼び出しに存在する必要があります。 ただし、データのサイズによっては、Direct3D ランタイムが DecodeExecute をもう一度呼び出して、フレーム全体のデコードに必要な追加の残差データのみを提供する場合があります。
DirectX VA 1.0 では 、DdMoCompQueryStatus 関数の呼び出しによって外部同期メカニズムがサポートされました。 DirectX VA 2.0 では、ユーザー モード ディスプレイ ドライバーは、3-D パイプの同期方法と同様に、独自の同期を実行する必要があります。 この同期の詳細については、「 ビデオ デコード操作の同期」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | d3dumddi.h (D3dumddi.h を含む) |