次の方法で共有


PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME_RS4_0 コールバック関数 (d3d10umddi.h)

ビデオ フレームをデコードする DirectX ビデオ アクセラレーション (DXVA) デコード操作を開始します。

構文

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME_RS4_0 Pfnd3dwddm24DdiVideodecoderbeginframeRs40;

HRESULT Pfnd3dwddm24DdiVideodecoderbeginframeRs40(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HDECODE hDecode,
  const D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 *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 に設定されている場合は、セッション キーを使用してビデオ フレーム データを復号化する必要があります。

要件

要件
Header d3d10umddi.h

こちらもご覧ください

CreateVideoDecoderNegotiateCryptoSessionKeyeExchange