c – windows7中的硬件加速缩放MFT

我正在搜索基于硬件加速(GPU)的视频缩放.我在以下线程中找到了广泛的讨论

How to use hardware video scalers?

Hardware Accelerated Image Scaling in windows using C++

我尝试坚持使用基于MFT的缩放,因为我在我的应用程序中也使用H.264编码器MFT.
我们有两种基于MFT的解决方案 –
 1. Video Resizer DSP
 2. Video Processor MFT

但这两种方法都使用了MF_SA_D3D_AWARE.如下所述:
 视频MFT具有属性MF_SA_D3D_AWARE.aspx,可用于查询它是否支持DirectX 3D硬件加速,并且可以通过向其发送MFT_MESSAGE_SET_D3D_MANAGER消息来启用此功能.
Windows 8及更高版本支持MF_SA_D3D_AWARE.

他们的任何缩放MFT是否在Windows 7中使用硬件加速?

我还没有调查它在How to use hardware video scalers?中提到的其他两个选项(MFCreateVideoRenderer和IDirectXVideoProcessor :: VideoProcessBlt)是否支持Windows 7.但我正在积极寻找优先权的MFT选项.

最佳答案 在Windows 7下,我建议您使用
IDXVAHD_VideoProcessor

你有一个样本:DXVA-HD Sample

但我认为如果你使用一个简单的DirectXDevice9和DirectXTexture9,缩放结果将是相同的.专用缩放过程没有理由仅适用于视频文件过程.我认为它们(游戏和视频文件)都是一样的.

我看到的孤独的事情是,你可以设置收缩模式:DXVAHD_BLT_STATE_CONSTRICTION_DATA ,适用于降尺度,而不是真正升级.

点赞