Video 访问VMR9内部的Direct3D设备
我有一个视频解码器过滤器,它位于以VMR9或EVR作为视频渲染器的图形中 VMR9和EVR使用Direct3D进行实际渲染。使用EVR,我可以相对轻松地访问D3D设备(我只需要使用IMFGetService::GetService请求它) 然而,VMR9并不公开IMFGetService,更一般地说,IMFGetService似乎是特定于Vista及以上版本的,就像整个DXVA2体系结构一样Video 访问VMR9内部的Direct3D设备,video,directshow,direct3d,Video,Directshow,Direct3d,我有一个视频解码器过滤器,它位于以VMR9或EVR作为视频渲染器的图形中 VMR9和EVR使用Direct3D进行实际渲染。使用EVR,我可以相对轻松地访问D3D设备(我只需要使用IMFGetService::GetService请求它) 然而,VMR9并不公开IMFGetService,更一般地说,IMFGetService似乎是特定于Vista及以上版本的,就像整个DXVA2体系结构一样 是否有办法访问VMR9内部的Direct3D设备?如果您提供自己的分配器/演示器实现,您将可以访问VMR
是否有办法访问VMR9内部的Direct3D设备?如果您提供自己的分配器/演示器实现,您将可以访问VMR9的d3d表面 查看vmr无渲染模式下的msdn页面 GetSurface调用是获取d3d曲面所需的: GetSurface是IVMRSurfaceLocator9接口的一部分