ID3D11VideoContext::D ecoderBeginFrame メソッド (d3d11.h)
ビデオ フレームをデコードするデコード操作を開始します。
構文
HRESULT DecoderBeginFrame(
[in] ID3D11VideoDecoder *pDecoder,
[in] ID3D11VideoDecoderOutputView *pView,
[in] UINT ContentKeySize,
[in] const void *pContentKey
);
パラメーター
[in] pDecoder
ID3D11VideoDecoder インターフェイスへのポインター。 このポインターを取得するには、 ID3D11VideoDevice::CreateVideoDecoder を呼び出します。
[in] pView
ID3D11VideoDecoderOutputView インターフェイスへのポインター。 このインターフェイスでは、デコードされたフレームを受け取るリソースについて説明します。 このポインターを取得するには、 ID3D11VideoDevice::CreateVideoDecoderOutputView を呼び出します。
[in] ContentKeySize
pContentKey で指定されたコンテンツ キーのサイズ。 pContentKey が NULL の場合は、ContentKeySize を 0 に設定します。
[in] pContentKey
フレーム データの暗号化に使用されたコンテンツ キーへのオプションのポインター。 コンテンツ キーが使用されなかった場合は、このパラメーターを NULL に設定します。 呼び出し元がコンテンツ キーを提供する場合、呼び出し元はセッション キーを使用してコンテンツ キーを暗号化する必要があります。
戻り値
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。 ハードウェア がビジー状態の場合、 D3DERR_WASSTILLDRAWINGまたはE_PENDING が返されます。その場合、デコーダーは再度呼び出しを試みる必要があります。
注釈
このメソッドが呼び出されたら、 ID3D11VideoContext::SubmitDecoderBuffers を呼び出してデコード操作を実行します。 すべてのデコード操作が実行されたら、 ID3D11VideoContext::D ecoderEndFrame を呼び出します。
DecoderBeginFrame の各呼び出しには、DecoderEndFrame への一致する呼び出しが必要です。 ほとんどの場合、 DecoderBeginFrame 呼び出しを入れ子にすることはできませんが、VC-1 などの一部のコーデックでは、後処理などの特殊な操作のために入れ子になった DecoderBeginFrame 呼び出しを行うことができます。
コンテンツ キーを使用すると、次の暗号化シナリオがサポートされます。
- デコーダーは、すべてのフレームを暗号化しないことを選択できます。たとえば、I フレームのみを暗号化し、P/B フレームを暗号化することはできません。 これらのシナリオでは、デコーダーは暗号化しないフレームに pContentKey = NULL と ContentKeySize = 0 を指定します。
- デコーダーは、セッション キーを使用して圧縮バッファーを暗号化することを選択できます。 このシナリオでは、デコーダーは、すべてのゼロを含むコンテンツ キーを指定します。
- デコーダーは、別のコンテンツ キーを使用して圧縮バッファーを暗号化することを選択できます。 このシナリオでは、デコーダーはセッション キーを使用してコンテンツ キーを ECB で暗号化し、暗号化されたコンテンツ キーを渡します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示