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