找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2410

积分

1

好友

333

主题
发表于 昨天 04:02 | 查看: 7| 回复: 0

知名开源多媒体框架FFmpeg在其官方社交媒体账号上公开致谢,感谢腾讯(TencentGlobal)向项目提交的手写ARM汇编补丁,并指出这些补丁带来了显著的性能提升。

FFmpeg官方推文感谢腾讯并展示性能基准

据FFmpeg分享的信息,这些补丁主要针对 vf_nlmeans 滤镜中的 compute_weights_line 函数进行了NEON指令集优化。优化内容不仅包括核心算法的手写汇编实现,还更新了函数签名,使用 ptrdiff_t 类型来处理栈参数(如 max_meaningful_diff, startx, endx)。这一改动对于AArch64架构至关重要,因为32位的栈参数会被打包(4字节对齐),而汇编实现期望的是8字节对齐的栈槽。使用 ptrdiff_t 可以强制实现8字节的对齐与大小,与汇编预期保持一致。同时,x86平台的AVX2原型函数也同步更新以匹配新的函数签名。

根据提供的性能基准测试(在AArch64平台运行 ./tests/checkasm/checkasm --test=vf_nlmeans --bench),优化效果明显:

  • compute_weights_line_c: 579.2 (基准 1.00x)
  • compute_weights_line_neon: 110.4 (5.25x)

这意味着在ARM架构平台(如智能手机、树莓派或其它嵌入式设备)上运行FFmpeg进行视频非局部均值降噪处理时,相关核心功能的执行效率将获得巨大飞跃。这种底层汇编优化对于充分发挥硬件潜力、提升音视频处理管线性能至关重要。

随后,腾讯云(Tencent AI)通过官方账号对此作出了回应。

腾讯官方回复并更正性能数据

腾讯在表达对FFmpeg推动音视频技术发展感谢的同时,也基于内部更为严谨的审核,对之前提到的性能数据进行了更正:实际的性能提升幅度约为2倍,而非最初提到的5倍。腾讯强调了数据准确性的价值,并表示未来将继续支持FFmpeg项目,致力于加强与开源社区的互利合作关系。

消息来源:https://x.com/FFmpeg/status/2008537909008515541

值得一提的是,这并非FFmpeg首次公开认可腾讯的贡献。早在一年多以前,FFmpeg就曾发文感谢过腾讯提交的高质量补丁,体现了双方持续的技术合作。

FFmpeg历史推文感谢腾讯高质量补丁

此类来自大型科技公司的开源实战贡献,不仅直接推动了像FFmpeg这样的核心开源项目进步,也为整个开发者社区带来了实实在在的性能红利。对于从事音视频开发或对底层C/C++优化感兴趣的开发者而言,关注这些高质量的代码提交是宝贵的学习机会。如果你想了解更多类似的行业技术动态与实践,可以关注云栈社区的更新。




上一篇:Java新一代数据访问库dbVisitor:如何用统一API操作MySQL、MongoDB与ES
下一篇:AI抓取如何重塑开源商业模式:以Tailwind CSS为例的深度分析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-11 19:35 , Processed in 0.205455 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表