发展一年以后的dav1d

  • 2020 年 2 月 20 日
  • 筆記

本篇是来自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的使用。

附上演讲视频: http://mpvideo.qpic.cn/0bf23qaagaaacyag3lshibpfbxgdapoaaaya.f10002.mp4?dis_k=5e3e523f079c17428cafdc2f71aff0d9&dis_t=1582162129