次の方法で共有


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

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

構文

PFND3D11_1DDI_VIDEODECODERBEGINFRAME Pfnd3d111DdiVideodecoderbeginframe;

HRESULT Pfnd3d111DdiVideodecoderbeginframe(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11_1DDI_HDECODE unnamedParam2,
  const D3D11_1DDIARG_VIDEODECODERBEGINFRAME *unnamedParam3
)
{...}

パラメーター

unnamedParam1

hDevice [in]

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

unnamedParam2

hDecoder [in]

CreateVideoDecoder 関数の呼び出しによって作成されたビデオ デコーダー オブジェクトへのハンドル。

unnamedParam3

pBeginFrame [in]

D3D11_1DDIARG_VIDEODECODERBEGINFRAME 構造体へのポインター。 詳細については、「解説」セクションを参照してください。

戻り値

VideoDecoderBeginFrame は、次のいずれかの値を返します。

リターン コード 形容
S_OK デコード操作が正常に開始されました。
E_OUTOFMEMORY 操作を完了するためにメモリを使用できませんでした。

備考

VideoDecoderBeginFrameS_OKを返す場合、Microsoft Direct3D ランタイムは、VideoDecoderSubmitBuffers 関数を呼び出してデコード操作を実行します。 すべてのデコード操作が実行されると、ランタイムは VideoDecoderEndFrame 関数を呼び出して、ビデオ フレームのデコード操作を停止します。

注意 VideoDecoderBeginFrame への各呼び出しには、VideoDecoderEndFrame への一致する呼び出し必要があり、VideoDecoderBeginFrame 呼び出し 入れ子にすることはできません。
 
D3D11_1DDIARG_VIDEODECODERBEGINFRAME 構造体には、次のデータが含まれています。
  • 復号化およびデコードされたデータを受信するリソース。
  • ビデオ フレーム データの暗号化に使用されたコンテンツ キー。

    この構造体の pContentKey メンバーが NULL に設定されていない場合、このメンバーによって参照されるバッファーにはフレームごとのコンテンツ キーが含まれます。 このキーは、セッション キーを使用するのではなく、データの暗号化を解除するために使用する必要があります。

    注意pContentKey メンバーが NULL に設定されていない場合、このメンバーによって参照されるバッファーは、AES-ECB アルゴリズムでセッション キーを使用して暗号化されます。
     
    pContentKey メンバーが NULL に設定されている場合は、セッション キーを使用してビデオ フレーム データを復号化する必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

CreateVideoDecoder

VideoDecoderEndFrame する

VideoDecoderSubmitBuffers