Dav1d移动端解码高清视频达30FPS

描述

个人电脑

在x86方面,此版本主要改进了Dav1d的SSSE3性能。Jiang Xuefeng对亮度和Paeth帧内预测函数的色度预测做出了贡献,分别提高了0.8%和0.4%的全局性能。

Liwei Wang继续他的逆变换工作,针对更大的8x32,32x16和32x32以及高达64x64的块,提供了这个版本的最大速度优化,在一些视频上超过10%。

Dav1d 0.3.0还新增了第一个SSE4.1程序集。在大多数情况下添加的SSE4.1指令除了SSSE3之外没有太多利用上,但Victorien Le Couviour - Tuffet近一个月还在优化SSE4。他对CDEF约束方向增强滤波器滤波器进行了优化,使模块级别的速度提高了115倍,整体提升了1.5%。

与此同时,Henrik Gramner编写了一些非常聪明的SSE2代码来加速熵解码/码流读取,刚开始会占用大部分解码时间,尤其是在AVX2指令上。汇编代码为所有64位x86平台带来了加速,AVX2约为4%、SSSE3和SSE4.1约提升2%。

高清视频

高清视频

总的来看,这些测试使得SSSE3上的Dav1d 0.3.0快24%,SSE4.1快26%,AVX2 CPU快4%。

高清视频

虽然单线程aomdec仍然非常强大,但是多线程Dav1d 0.3.0使libaom在下面对比图中的位置更微小。

高清视频

高清视频

Arm64

MartinStorsjö提供了两个非常好的提交,使用NEON汇编代码加速了loopfilter(NEON环路过滤器)和自导环路恢复。这两项功能都加速了大约3倍,使性能提升了7%到36%。不仅可以实现更高的分辨率、帧率和码率,还可以降低相同画面内容的硬件功耗。

在高通骁龙835上单核解码1080p视频突破25FPS,使用多个线程稳定30 FPS,某些内容甚至达到60FPS。

高清视频

高清视频

总结以上结果,我们看到《RED》的测试结果提升明显,因为它很大程度上依赖于loopfilter。单线程增益介于11%和36%之间(平均19%),多线程介于7%和16%之间。

高清视频

应用现状

Dav1d的应用进行得非常顺利,重大新闻是Chrome浏览器和新的Microsoft Edge背后的开源项目Chromium现在也用了Dav1d,默认情况下将在Chrome 74中集成。

Firefox 67也在最新版本里使用了Dav1d,Dav1d已更新为0.2.1并使用了多线程。 除了Windows之外,默认情况下还在Linux和macOS上启用Dav1d解码。

FFmpeg和 VLC 自然也使用了Dav1d,一旦FFmpeg 4.2发布,Handbrake,自然也会考虑集成Dav1d。

Youtube越来越多的使用AV1编码,他们甚至编码了一些4K和8K分辨率高达60fps的视频,在这里了解如何让Youtube启用AV1。(https://www.youtube.com/testtube)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分