针对 FFmpeg 的最新 AVX-512 优化在 AMD Ryzen 上有了显著的改进

2025年2月18日,广泛使用的 FFmpeg 开源多媒体库合并了另一个 AVX-512 优化代码路径… 与纯 C 代码相比,AVX2 代码路径快 10.98 倍,而新的 AVX-512 代码路径的性能是普通 C 代码的 18 倍。

最新的 FFmpeg 代码是用于将 UYVY 转换为 YUV422 格式的 uyvytoyuv422 函数。通过手写程序集优化的 AVX-512 代码路径在这里大有裨益。AVX-512 即 Intel Xeon 处理器或 Zen 4 之后的所有 AMD Ryzen 和 EPYC 处理器。本补丁发布的基准测试使用 AMD Ryzen 9 7950X 进行。

该 AVX-512 代码路径的增益非常有利,其性能达到通用 C 路径的 18.02 倍,而 AVX2 唯一路径的性能达到 10.98 倍。

针对 FFmpeg 的最新 AVX-512 优化在 AMD Ryzen 上有了显著的改进

编写该补丁的 Shreesh Adiga 解释说:

“标量循环被屏蔽的 AVX512 指令取代。为了从 UYVY 中提取 Y,使用了 vperm2b,而不是各种 AND 和 packuswb。

在 AVX2 版本中,没有使用交错通道加载矢量,而是使用正常加载。在 packuswb 结束时,会对 U 和 V 进行额外的置换操作,以获得所需的布局”。

如果您的 CPU 支持 AVX-512,那么下一个 FFmpeg 版本将是一个不错的选择。这对 AMD Zen 4 来说尤其如此,而 AMD Zen 5 在其整个 CPU 产品堆栈中展现出的 AVX-512 性能更是如此。

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/55996.html

(0)

相关推荐

发表回复

登录后才能评论