首页 > 解决方案 > 如何通过媒体基础使用英特尔 Quicksync 进行解码?

问题描述

是使用 Microsoft H.264 MFT 的方法吗?有一个用于 Quicksync 的 MFT,但仅用于编码。

Microsoft H.264 MFT 上的标志是同步和软件。我可以使用 D3D 设备并使用 IMFVideoSampleAllocatorEX 进行一些视频加速,但我想知道是否有更好的方法通过 Media Foundation 使用英特尔快速同步。

标签: video-streamingintelms-media-foundationintel-media-sdk

解决方案


Microsoft H.264 Video Encoder用于编码。

Intel Quick Sync Video H.264 Encoder MFT 也是一个编码器对象。

如果您正在寻找硬件辅助解码器,Media Foundation API 通过H.264 Video Decoder提供,它能够利用 DXVA2 API,而后者又使用硬件功能来解码 H.264 视频。

UPD。在下面的评论中详细阐述后续问题,H.264 视频解码器 MFT 作为同步 MFT 没有任何问题。事实上,硬件 MFT有一个记录在案的要求是异步的。H.264 视频解码器 MFT 和最近的 H.265/HEVC 视频解码器 MFT 具有不同的结构:它们将软件解码器组合为备用代码路径,通过内部使用 DXVA2 API 来利用硬件解码器,并且是同步解码器。

IHV 不会为 H.264 和 H.265 提供单独的硬件 MFT,因为上述库存解码器 MFT 已经以有效的方式集成了硬件解码功能。专用的真正硬件 MFT 解码器不会提供任何真正的优势。对于 DXVA2 和/或库存解码器未涵盖的格式,IHV 确实以异步硬件 MFT 的形式提供专用解码器(例如,M-JPEG、VP8 格式)。

底线是股票解码器是使用硬件支持解码的建议方法。否则可以使用 IHV SDK 与解码器通信。它可能提供更好的灵活性,大概复杂性更高,尤其是。就需要与 Media Foundation 管道集成(如有必要)而言,但性能提升不太可能:启用硬件解码的库存 Media Foundation 解码器增加了相当小的开销。


推荐阅读