PFND3DDDI_DECODEEXECUTE回呼函式 (d3dumddi.h)
DecodeExecute 函式會使用指定的 Microsoft DirectX 視訊加速器 (VA) 譯碼裝置來執行譯碼作業。
語法
PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;
HRESULT Pfnd3dddiDecodeexecute(
HANDLE hDevice,
const D3DDDIARG_DECODEEXECUTE *unnamedParam2
)
{...}
參數
hDevice
顯示裝置的句柄(圖形內容)。
unnamedParam2
pData [in]
描述要執行之 DirectX VA 譯碼作業之 D3DDDIARG_DECODEEXECUTE 結構的指標。
傳回值
DecodeExecute 會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
S_OK | 已成功執行 DirectX VA 譯碼作業。 |
E_OUTOFMEMORY | DecodeExecute 無法配置所需的記憶體,使其完成。 |
言論
Microsoft Direct3D 運行時間會針對所有標準 DirectX VA 譯碼作業呼叫 DecodeExecute 函式。 第一次針對每個畫面呼叫 DecodeExecute 時,pData 所指定的 D3DDDIARG_DECODEEXECUTE 結構應該包含譯碼框架所需的所有緩衝區資訊。 譯碼Execute 後續可以針對相同的畫面呼叫;不過,這些呼叫只需要累加式數據。 如果特定 DirectX VA 譯碼類型的 GUID 不使用D3DDDIARG_DECODEEXECUTE中指定的緩衝區,則緩衝區的句柄和描述會設定為 NULL。 例如,由於 MPEG2 譯碼類型需要圖片參數、巨集區塊緩衝區和殘差緩衝區,因此所有這些專案都必須出現在每個畫面的第一個呼叫中。 不過,視數據的大小而定,Direct3D 運行時間可能會再次呼叫 DecodeExecute,只提供譯碼整個框架所需的額外殘差數據。
DirectX VA 1.0 透過呼叫 DdMoCompQueryStatus 函式來支援外部同步處理機制。 在 DirectX VA 2.0 中,使用者模式顯示驅動程式應該執行自己的同步處理,類似於同步處理 3D 管道的方式。 如需此同步處理的詳細資訊,請參閱 同步處理影片譯碼作業。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
目標平臺 | 桌面 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |