如今,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 系统的其他测试结果也展现了显著的优势:

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

此代码还添加了一个新的“–enable-unstable”构建时选项,用于包含 FFmpeg 的“不稳定”功能。该选项最初用于允许禁用当前处于实验阶段的 swscale,但未来也可以扩展以涵盖实验性编解码器和其他功能。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/61237.html