2014-06-24 138 views
2

我正在使用DXVA視頻解碼器。它工作正常,但我想與另一個IDirect3D9設備對象共享解壓縮的曲面。是否可以共享DXVA表面?

我讀this文檔,我打電話IDirectXVideoDecoderService::CreateSurface()方法來創建面,我試圖通過一個非NULL HANDLE *指向NULL作爲方法的最後一個參數。但該方法失敗,結果爲0x8876086c(D3DERR_INVALIDCALL)。我也嘗試分配一個HANDLEs數組,並將每個元素設置爲NULL,然後將這個數組作爲參數傳遞,但仍然得到相同的錯誤。

有沒有辦法在IDirect3D9設備之間共享DXVA表面?

+0

*「...傳遞指向NULL的非NULL HANDLE *」* - 您能顯示代碼段嗎?當我閱讀它時,我不清楚你傳遞的是什麼。 –

回答

0

讀文件:

資源創建的API包括 - CreateTexture,CreateVolumeTexture,CreateCubeTexture,CreateRenderTarget,CreateVertexBuffer,CreateIndexBuffer,CreateDepthStencilSurface,CreateOffscreenPlainSurface,CreateDepthStencilSurfaceEx,CreateOffscreenPlainSurfaceEx和CreateRenderTargetEx。

IDirectXVideoAccelerationService :: CreateSurface似乎不包括在內。

和:

pSharedHandle [IN,OUT]

的指針,該用於共享的Direct3D設備之間的表面上的手柄。將此參數設置爲NULL。

似乎不可能使用它。

相關問題