發展一年以後的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