共用方式為


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 記憶體無法完成作業。

備註

如果 VideoDecoderBeginFrame 傳回 S_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