gpt4 book ai didi

windows - 如何使用硬件视频缩放器?

转载 作者:可可西里 更新时间:2023-11-01 12:42:01 25 4
gpt4 key购买 nike

现代显卡具有硬件视频缩放器,例如作为 AMD Avivo、NVIDIA PureVideo 或 Intel ClearVideo 的一部分。比如AMD的Avivo whitepaper说:

"The image output scalers support up to 6 vertical filter taps and up to 10 horizontal filter taps. These scalers are high-precision polyphase scalers that are highly programmable; they are suitable for upscaling by practically any ratio, or for downscaling by up to 4:1."

问题:如何在 Windows 程序中使用视频缩放器硬件?

假设已经存在解码视频帧,例如在 IDirect3DSurface9 中,目标是使用硬件缩放器在屏幕上显示该视频帧。如果可能,我想使用像 Media Foundation 或 DirectShow 这样的 Windows API,而不是特定于供应商的 API。我主要对放大 1.5-3 倍左右的相当大的系数感兴趣。

第二个问题是,如何控制视频缩放器的硬件参数? (比如上面提到的多相滤波器中的滤波器系数)

编辑:赏金开始。请提供在视频卡中使用视频缩放器硬件的任何方式的示例(这可能是供应商特定的,或使用任何版本的 DirectX/DirectShow/Media Foundation API)。

编辑:更新:一些使用视频缩放器硬件的程序示例:WinDVD、PowerDVD、madVR。我想知道如何完成他们所做的事情,即使用 GPU 的内置视频硬件缩放器,不是使用 D3D 着色器和纹理采样器实现的缩放器。

最佳答案

仅访问硬件 - Direct2D(Direct3D 可能是更好的选择)就可以了。但是要访问视频缩放器,您需要使用 DirectShow 或 Windows Media Foundation(我并没有经常使用它)。

AFAIK - “Resizer DMO”过滤器将访问正确的硬件并为您执行视频大小调整。 Here是使用此过滤器的代码示例。

编辑:如果您使用的是 MFT,则 Video Processor Filter也应该同样高效。如文档中所述,“视频处理器支持 GPU 加速视频处理,使用 Microsoft Direct3D 11。有关详细信息,请参阅 MF_SA_D3D11_AWARE。”

另请参阅 this关于硬件 MFT 属性的部分,尤其是 MFT_ENUM_HARDWARE_URL_Attribute 让您检查该 MFT 是否在硬件中实现Note that DXVA 与 Media Foundation 集成并将其功能公开为 MFT。因此,在硬件中实现的 MFT 很可能使用底层硬件,并且是 Windows 本身使用的方法。

希望这对您有所帮助!

关于windows - 如何使用硬件视频缩放器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13691857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com