本篇是来自FOSDEM 2020 Open Media devroom的演讲,演讲者是VideoLAN的主席Jean-Baptiste Kempf,主题是“发展一年以后的dav1d”。
演讲的大纲:
AV1
- AV1 ecosystem
Dav1d
- Historique
- Fast on desktop
- Faster on ARM
- Complexity of AV1
- Dav1d architecture
- Why is dav1d faster?
- Next: GPU
Future
演讲者首先为我们介绍了AV1的生态,包括一些开源、闭源的编码器,一些部署AV1的厂商,以及在2020年即将到来的AV1硬件支持。
随后,他介绍了Dav1d项目的目标,即"AV1 needs a great software decoder",为了让AV1能够在所有设备上播放,我们需要一个可移植、跨平台的高效开源软件解码器。
Dav1d从2018年12月发布第一版以来,一直保持活跃开发,2019年12月发布0.5.2版,并即将发布0.6.0,对各硬件平台和指令集做了优化,多线程性能比aomdec快3~5倍。通过将av1的解码性能和以往的H264、HEVC、VP9进行比较,表明av1解码复杂度提升并不多,因为av1复杂度主要在编码时。
Dav1d在架构上用了Dual Passes形式,第一遍用来分析码流,第二遍进行解码,这在解码器设计上是比较罕见的。
接下来演讲者探讨了Dav1d比其他解码器更快的原因:
1. C版本代码更快;
2. 线程管理更好,具有更强的扩展性;
3. 大量手写的汇编代码而不是intrinsics。
然后他为我们介绍了GSoC 2019的一个Dav1d GPU优化项目,结果显示使用GPU版本更加省电。
最后,演讲者讲述了Dav1d未来的开发计划,主要是10bit的优化,以及GPGPU的使用。