TL;DR
- AV1 is a video codec that’s gaining traction amongst on-line streaming companies as a result of it’s freed from royalties and delivers good video high quality without having plenty of bandwidth.
- Nevertheless, many units lack {hardware} accelerators for enjoying again movies encoded in AV1, which suggests they should use a software program decoder operating on the CPU.
- Android presently ships with Google’s libgav1 AV1 software program decoder, however a future replace will change that over to VideoLAN’s libdav1d, which affords considerably higher efficiency.
Precisely seven years in the past, YouTube shared a mind-boggling statistic with the world: persons are watching a billion hours of content material on the platform each single day. The digital media panorama has solely grown since then due to the rise of TikTok and the continued on-line streaming warfare between Netflix and huge media firms. With the sheer quantity of video content material these on-line companies must ship every day, it’s crucial firms use one of the best compression know-how out there to avoid wasting bandwidth with out considerably compromising on high quality. That’s why the Alliance for Open Media’s AV1 codec has been gaining traction amongst on-line streaming companies.
AV1 is a video codec that provides superior compression effectivity in comparison with older codecs like h.264, h265, or VP9, which implies that movies encoded in AV1 can ship comparable video high quality at a lot decrease bitrates. This reduces bandwidth necessities for each the streaming service and the tip person with out compromising on high quality. Higher efficiency isn’t the one motive why the streaming trade loves AV1, although. AV1 can be freed from any royalties, which makes it a pretty possibility for streaming companies that wish to lower prices.
Nevertheless, streaming companies have been gradual to undertake AV1 for his or her content material. Whereas companies like YouTube, Netflix, Instagram, and Vimeo already encode a lot of their content material in AV1, they nonetheless serve this content material in different codecs to the overwhelming majority of shopper units. The reason being that many shopper units nonetheless lack {hardware} assist for enjoying again AV1 movies, which suggests they must use a software program decoder operating on the CPU to play again an AV1 video.
AV1 affords superior compression effectivity in comparison with older codecs like h.264, h265, or VP9.
Video decoders are primarily advanced algorithms that may be run on both the CPU (software-accelerated) or on a devoted {hardware} block for multimedia processing (hardware-accelerated). Relying on the standard of the video and the codec that’s used, decoding a video file may be computationally intensive. Ideally, units would use a hardware-accelerated decoder to play again AV1 content material, guaranteeing smoother playback and decrease energy consumption.
Sadly, most cell units lack a hardware-accelerated AV1 decoder, which means they’d must course of AV1 content material on the CPU utilizing a software-accelerated decoder. That’s particularly problematic contemplating battery life is a excessive precedence for many customers. We’re lastly at some extent the place each main cell silicon vendor — together with Qualcomm beginning with the Snapdragon 8 Gen 2 and Apple with the A17 Professional — is transport merchandise with a hardware-accelerated AV1 decoder. On condition that most individuals don’t improve their telephones yearly or don’t purchase the highest-end {hardware}, it’ll take a few years earlier than a majority of cell units assist hardware-accelerated AV1 decoding.
Mishaal Rahman / Android Authority
Left: Listing of obtainable AV1 decoders on a Samsung Galaxy S24 Extremely.
Center: Particulars for the system-provided, software-accelerated libgav1 AV1 decoder.
Proper: Particulars for the Qualcomm-provided, hardware-accelerated AV1 decoder.
Within the meantime, Google is getting ready to replace Android in order that current units can adequately play again AV1 content material even when they lack a hardware-accelerated decoder. Because the launch of Android 10, AOSP has included the libgav1 decoder, an open-source AV1 decoder developed by Google. Nevertheless, libgav1 isn’t the one AV1 decoder on the market, as there’s additionally the Alliance for Open Media’s libaom (the reference decoder) in addition to VideoLAN’s libdav1d.
Like libgav1, libdav1d runs on the CPU, but it surely’s considerably higher at decoding AV1 content material than libgav1 is. This may be attributed to the truth that giant components of libdav1d have been written in meeting for ARMv8 chips, decreasing plenty of efficiency overhead. In actual fact, libdav1d is so computationally environment friendly that it provides even low-end {hardware} the power to easily play again high-quality AV1 content material with out consuming up plenty of CPU energy.
For comparability, right here’s a chart that compares the efficiency between Google’s libgav1 and VideoLAN’s libdav1d AV1 decoders. The gadget I examined on was a Google Pixel 3 XL powered by Qualcomm’s Snapdragon 845, which lacks a hardware-accelerated AV1 decoder. On this check, I performed again two movies encoded in AV1: a 6:30 clip of the Artemis I launch at 4K60 (8-bit, 1165 kb/s) and a 9:11 clip from Netflix referred to as “Sparks” at 1080p25 (10-bit, 915 kb/s).
Mishaal Rahman / Android Authority
As you’ll be able to see from the chart, libdav1d dramatically outperformed libgav1 on this experiment. My Pixel 3 XL averaged over 50fps when enjoying the Artemis 1 clip utilizing libdav1d because the decoder. As compared, the gadget averaged below 10fps when utilizing libgav1. Equally, my Pixel averaged 25fps when enjoying the Sparks clip with libdav1d versus below 10fps with libgav1.
In the event you’re questioning how I used to be capable of check libdav1d on my Pixel 3 XL, it’s as a result of I used VLC Media Participant, which bundles libdav1d. Most media participant apps on Android use Google’s ExoPlayer library, which defaults to the system-provided libgav1 decoder for AV1 content material when a hardware-accelerated AV1 decoder isn’t current. If Google have been to swap the system-provided AV1 decoder from libgav1 to libdav1d, then media participant apps that use ExoPlayer may profit considerably from its efficiency enhancements. That’s precisely what Google has been getting ready to do since late final yr.
My check gadget averaged 25fps when enjoying the Sparks clip with libdav1d versus below 10fps with libgav1.
Since early November, the AOSP supply code has included the libdav1d decoder. It is because Google wanted to experiment with utilizing libdav1d as a substitute of libgav1 as Android’s system-provided AV1 decoder. Based on two sources who want to stay nameless, Google knowledgeable its companions a number of months again that they intend to substitute libgav1 with libdav1d on current units by March 2024 by way of an upcoming Google Play System Replace. That is attainable as a result of media codecs are a part of a Venture Mainline module on Android.
Whereas one in all my sources confirmed that Google remains to be testing this variation, what’s unclear is whether or not it will roll out to all units that assist the Media Codecs mainline module (Android 10 and above) or if it’ll roll out solely to units operating Android 14. It’s attainable that Google might restrict this variation to simply units that run Android 14, since Android 14 is the primary launch the place Google truly made it necessary for OEMs to incorporate an AV1 decoder. This may sound odd since AOSP has included libgav1 since Android 10, however it appears that evidently Google hasn’t truly required OEMs to incorporate it of their builds till Android 14.
In any case, we’ll be preserving an eye fixed out for the upcoming March 2024 Google Play System Replace to see if it truly contains the libdav1d AV1 decoder. If it does, then customers on lower-end {hardware} might even see a considerable enchancment to AV1 video playback efficiency. Nevertheless, it stays to be seen how lengthy it can take for streaming companies to really serve AV1 video content material to those units.