AMD 上周发布了一组补丁,以增强开源 FFmpeg 多媒体库与 AMD 高级媒体框架(AMF)的集成。AMF SDK 允许 “最佳 “访问 AMD GPU 进行多媒体处理,但在 Vulkan 视频 API 开始被采用的时代,这一系列补丁对其必要性提出了质疑。
针对 AMF 的最新 AMD FFmpeg 补丁系列将添加硬件上下文 “hwcontext_amf “支持,以及基于 AMF 的 H.264、HEVC 和 AV1 解码器。这些补丁还为 AMF 编码器启用了 AMD SmartAccess Video (SAV) 功能。SAV 可在多个 VCN 硬件实例上实现编码/解码流的并行化。最初还为 FFmpeg 提出了两个 AMF 过滤器: “vpp_amf “用于简单的缩放和色彩转换,”sr_amf “用于 FSR 等高级缩放算法。FFmpeg 在编码方面已经支持 AMF。
Dmitrii Ovchinnikov 解释说:
“添加了 hwcontext_amf,它允许编码器、解码器和基于 AMF 的过滤器使用共享 AMF 上下文,而无需复制到主机内存。它还允许在组件(例如 SAV)的交互中使用一些优化功能,并使用于编码器、解码器和基于 AMF 的过滤器的设置更易于管理和优化。在完全 AMF 管道的情况下,使用带有 AMF 的 GPU 设备的管理和优化设置。当使用带有过滤器的全 AMF 管道时,性能将得到大幅提升。”
FFmpeg 开发人员 Lynne 为这一主流开源库提供了大量 Vulkan 视频功能,但他质疑 AMD 既然可以利用更开放的 Vulkan 视频生态系统,为什么还要在 AMF 上投入这么多精力。Lynne 在信息交流中写道:
“Vulkan 编码很快就会获得所需的所有功能,从而允许公开所有针对特定供应商的优化,不过我认为你们应该已经在这个圈子里了。有必要现在就添加这些代码吗?至少在 Linux 世界中,AMF 几乎还没有被广泛使用,因为它并没有被打包到任何地方。
AMD 也已经发布了所有基于 FSR 的升级代码”。
得到的答复令人遗憾:
“与 AMF 相比,DX12 和 Vulkan 原生编码器的功能较少,至少在可预见的功能中是如此。缺少的功能包括低延迟、预分析(包括前瞻)等。Windows 上的 AMF 上下文允许完全启用 SAV,即在单个会话中利用 dGPU 和 APU 中的 VCN 的能力。最终,专门的 AMD 多媒体卡可通过 AMF 集成无缝添加到 FFmpeg 中。AMF FSR(VSR) 包括 YUV 版本,主要用于视频,而 AMD FSR 则不用于游戏”。
不过,FFmpeg 开发人员 Lynne 仍不确定 AMD AMF 更新是否应并入 FFmpeg:
“你们真的不互相交流吗?你们应该这样做。我只是更想知道为什么现在要合并和维护这些代码,因为 Vulkan 视频的采用终于开始了。“
最新的补丁可以在这里找到。到目前为止,这一系列补丁还没有合并到上游 FFmpeg 中,所以我们将拭目以待,看看它最终是被接受,还是在 2024 年被拒绝,转而鼓励更开放/更符合行业标准的 API。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/48133.html