FFmpeg swscale 重写开始落地,整体速度提升 2.6 倍,最高可达 254 倍

如今,FFmpeg 8.0 已发布,这个广泛使用的多媒体库也已上线,开发工作重回下一个主要版本的主线。周一发布的是 swscale 代码重大重写的初始代码,旨在提供一个更快、更易于维护/扩展的新框架。

FFmpeg 的 swscale/libswscale 代码用于图像缩放、色彩空间转换和相关操作。FFmpeg 开发人员 Niklas Haas 在过去几个月里一直致力于围绕 swscale 开发一个新框架。swscale 重写版本对编译器自动矢量化的依赖程度降低,并引入了新的 x86 SIMD 后端。新代码不仅能显著提升性能,重写也有助于提高代码的可维护性、可扩展性和正确性。

性能结果令人振奋,在开发过程中的一系列补丁中,Niklas Haas 报告称单线程代码整体速度提高了 2.1 倍,最高速度提升了 40.3 倍。在多线程使用方面,整体速度提高了 2.6 倍,最高速度提升了 254 倍!他分享的 AMD Ryzen 9 9950X3D 系统的其他测试结果也展现了显著的优势:

FFmpeg swscale 重写开始落地,整体速度提升 2.6 倍,最高可达 254 倍

以及合并引入了新框架、x86 SIMD 后端以及此 libswscale 重写的其他提交。

FFmpeg swscale 重写开始落地,整体速度提升 2.6 倍,最高可达 254 倍

此代码还添加了一个新的“–enable-unstable”构建时选项,用于包含 FFmpeg 的“不稳定”功能。该选项最初用于允许禁用当前处于实验阶段的 swscale,但未来也可以扩展以涵盖实验性编解码器和其他功能。

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

(0)

相关推荐

发表回复

登录后才能评论