我用的是DXVA视频解码器。它工作得很好,但我希望与另一个IDirect3D9设备对象共享解压缩表面。
我读取这文档,并调用IDirectXVideoDecoderService::CreateSurface()方法创建曲面,并尝试传递一个非空句柄*,该句柄指向NULL作为该方法的最后一个参数。但该方法在0x8876086c (D3DERR_INVALIDCALL)结果中失败。我还尝试分配句柄数组,并将每个元素设置为NULL,然后将该数组作为参数传递,但仍然得到相同的错误。
有办法在IDirect3D9设备之间共享DXVA曲面吗?
发布于 2015-11-28 12:10:49
阅读文件:
资源创建API包括- CreateTexture、CreateVolumeTexture、CreateCubeTexture、CreateRenderTarget、CreateVertexBuffer、CreateIndexBuffer、CreateDepthStencilSurface、CreateOffscreenPlainSurface、CreateDepthStencilSurfaceEx、CreateOffscreenPlainSurfaceEx和CreateRenderTargetEx。
IDirectXVideoAccelerationService::CreateSurface似乎没有被包括在内。
以及:
pSharedHandle入,出 指向用于在Direct3D设备之间共享表面的句柄的指针。将此参数设置为空。
它似乎不可能使用它。
https://stackoverflow.com/questions/24377195
复制相似问题