PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME コールバック関数 (d3d10umddi.h)
DirectX ビデオ アクセラレーション (DXVA) デコード操作を開始して、ビデオ フレームをデコードします。
構文
PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Pfnd3dwddm24DdiVideodecoderbeginframe;
HRESULT Pfnd3dwddm24DdiVideodecoderbeginframe(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HDECODE hDecode,
const D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME *pBeginFrame
)
{...}
パラメーター
hDevice
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
hDecode
CreateVideoDecoder 関数の呼び出しによって作成されたビデオ デコーダー オブジェクトへのハンドル。
pBeginFrame
D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0構造体へのポインター。 詳細については、「解説」セクションを参照してください。
戻り値
次のいずれかの HRESULT 値を返します。
リターン コード | 形容 |
---|---|
S_OK | 暗号化セッションのセッション キーが正常にネゴシエートされました。 |
E_OUTOFMEMORY | 操作を完了するためにメモリを使用できませんでした。 |
備考
この関数がS_OKを返す場合、Microsoft Direct3D ランタイムは VideoDecoderSubmitBuffers 関数を呼び出してデコード操作を実行します。 すべてのデコード操作が実行されると、ランタイムは VideoDecoderEndFrame 関数を呼び出して、ビデオ フレームのデコード操作を停止します。
手記
VideoDecoderBeginFrame への各呼び出しには VideoDecoderEndFrame への一致する呼び出しが必要であり、VideoDecoderBeginFrame 呼び出しを入れ子にすることはできません。
D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 構造体には、次のデータが含まれています。
- 復号化およびデコードされたデータを受信するリソース。
- ビデオ フレーム データの暗号化に使用されたコンテンツ キー。
この構造体の pContentKey メンバーが NULL に設定されていない場合、このメンバーによって参照されるバッファーにはフレームごとのコンテンツ キーが含まれます。 このキーは、セッション キーを使用するのではなく、データの暗号化を解除するために使用する必要があります。
手記
pContentKey メンバーが NULL に設定されていない場合、このメンバーによって参照されるバッファーは、AES-ECB アルゴリズムでセッション キーを使用して暗号化されます。
pContentKey メンバーが NULL に設定されている場合は、セッション キーを使用してビデオ フレーム データを復号化する必要があります。
必要条件
要件 | 価値 |
---|---|
ヘッダー | d3d10umddi.h |