Yesterday, Jean-Baptiste Kempf, VideoLAN president announced dav1d 0.1.0. dav1d is an AV1 decoder from VideoLAN, the same company that offers the popular VLC Media Player. dav1d was first presented in Video Developer Days 2018.
The first usable version of dav1d, dav1d 0.1.0 is dubbed as Gazelle. In this release users can use the API, ship the decoder, and expect to receive some support from the developers.
New features in dav1d 0.1.0
Since the initial launch of dav1d in September 2018 there has been a lot of work done on it:
- All AV1 features are now supported, even the ones that are less known
- 8, 10, 12 bits, and all chroma sub-samplings are supported by dav1d 0.1.0
- All AV1 files shared to the developers are supported
- Developers invested a lot of time to make dav1d 0.1.0 quick, while keeping a maintainable binary size.
- More assembly for desktop is added. Some assembly for ARMv8, and for older machines (SSSE3) has been merged.
- In single-thread, on ARMv8, dav1d is now as fast as libaom. With more threads it is even faster.
- Some more SSSE3 code is being merged. So, dav1d will soon be faster than other decoders, on all platforms.
- There is also some work being done on shaders, potentially to bring the Film Grain feature.
Some benchmarks of dav1d 0.1.0
Biggest advantage dav1d has is its high scalability. The performance gets much better as the number of threads goes up. Results from a 32-core AMD Epyc processor:
As you can see. aomdec caps out at 8 threads while dav1d keeps on scaling with higher number of threads.
Performance on smartphone processors:
On multiple cores, 1080p 30fps can be decoded by most high-end chips released in the past two years. On an Apple A12X, 1440p at 60fps and 4K at 30fps is possible!
For more benchmarks and complete comparisons, visit the Medium Post.