【问题标题】:hardware accelerated scaling MFT in windows7windows7中的硬件加速缩放MFT
【发布时间】:2016-06-07 20:08:41
【问题描述】:

我正在搜索基于硬件加速 (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 选项。

【问题讨论】:

    标签: c++ windows scaling ms-media-foundation


    【解决方案1】:

    在Windows 7下,我建议你使用IDXVAHD_VideoProcessor

    这里有一个示例:DXVA-HD Sample

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

    我看到的唯一一点是,你可以设置收缩模式:DXVAHD_BLT_STATE_CONSTRICTION_DATA ,它适用于缩小,而不是真正的放大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 2011-04-18
      • 1970-01-01
      • 2017-07-05
      • 2011-03-10
      相关资源
      最近更新 更多