我如何通过媒体基础使用 Intel Quicksync for DECODE?

How can I use Intel Quicksync for DECODE through media foundation?

Microsoft H.264 MFT 是怎么回事?有一个用于 Quicksync 的 MFT,但仅用于编码。

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

Microsoft H.264 Video Encoder用于编码。

英特尔快速同步视频 H.264 编码器 MFT 也是一个编码器对象。

如果您正在寻找硬件辅助解码器,媒体基金会 API 通过 H.264 Video Decoder 提供,它能够利用 DXVA2 API,后者又使用解码 H.264 视频的硬件功能。

更新。在下面的评论中详细说明后续问题,H.264 视频解码器 MFT 是同步 MFT 并没有错。事实上,hardware MFTs 有一个记录在案的异步要求。 H.264 视频解码器 MFT 和更新的 H.265/HEVC 视频解码器 MFT 具有不同的结构:它们结合软件解码器作为回退代码路径,通过内部使用 DXVA2 API 来利用硬件解码器,并且是同步解码器。

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

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