We'd like to do some A/B testing on Canary/Dev with libdav1d and libaom to ensure AV1 decoding is a performant as possible. In addition to Chrome specific metrics like UMA/UKM, we will partner with YouTube to understand results on their AV1 corpus.
https://code.videolan.org/videolan/dav1d
https://aomedia.googlesource.com/aom/
Assuming these experiments are positive, we may switch to dav1d as the AV1 decoding library for Chrome. At present in local testing there are significant (3x) improvements in performance on YouTube and Netflix content, as well as significant memory and binary size savings which needs further testing as dav1d reaches SSSE3 SIMD parity.
A prototype of this work is available here: https://chromium-review.googlesource.com/c/chromium/src/+/1303406
The downsides of choosing dav1d are as follows:
- We will need to maintain a custom build layer on top of dav1d to interface with Chrome.
- We (media team) will be responsible for handling bugs and merging security fixes from upstream (versus libaom team).
- No encoder support, which will prevent WebRTC experiments (though none are announced) at this time.
Success for this project would be positive uptick relative to AV1 in UKM and YouTube metrics around rebuffering, watch time, and resolution.
Comment 1 by dalecur...@chromium.org
, Today (5 hours ago)