使用C ++在Windows中硬件加速图像缩放

时间:2016-02-08 19:16:45

标签: c++ directx gpu video-capture mft

我必须缩放位图图像(例如1280 x 720到1920 X 180,反之亦然)。

我在屏幕上使用此缩放功能进行视频捕捉。基于软件的扩展会消耗大量的CPU扩展并且速度也会降低。

是否有任何硬件加速API或库来执行扩展?

线程How to use hardware video scalers?中讨论了一些方法。但没有最终结论。

需要支持:Windows 7以后

1 个答案:

答案 0 :(得分:1)

如果您要缩放图像的IDirect3DTexture9,则可以使用StretchRect

D3D11中没有等效功能,但是,如果您要缩放图像ID3D11Texture2D,则只需创建所需目标尺寸的渲染目标,全屏四边形,然后渲染到使用简单的着色器进行目标,只需对原始纹理进行采样。生成的渲染目标将是输入的缩放图像。注意:此全屏四方法也适用于D3D9。