次の方法で共有


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

関連項目

NegotiateCryptoSessionKeyeExchangeCreateVideoDecoder