Arif Dikici, who is a part of the Android Video and Image Codecs team at Google, recently announced on LinkedIn that Android will now use an AV1 decoder known as “libdav1d,” which was created by the team behind VLC.
Because they can’t use hardware decoding.
Which is fair, but AV1 isn’t new any more, and it’s pretty universally recognized as better.
Hardware decoding is the whole point. Hardware support is notorious for lagging greatly behind software. Desktop support is not great either right now. It makes you wonder what Google’s reason is, they have to be aware that must people won’t be able to use it properly.
I know hardware decoding is the point. But you can’t just wait until every phone on the planet supports it.
Their reason is that it’s a massively better format.
But you can’t just wait until every phone on the planet supports it.
The proper approach is simply to have the app check the hardware decode capabilities of the device and use the best option. Pretty sure that’s what YT has always done for codec transitions in the past.
Forcing AV1 on devices without hardware decode will end up making users think their battery is starting to wear out, even with the better software decoder’
…massively better for whom? I mean I understand if they start using it and offering it to devices that support it. But if they push something that needs software decoding when there are other formats that have hardware support it’s going to be a shit fest.
Right now AVC (H264) has hardware 4k support and HEVC (H265) has hardware 2k, while AV1 only has 1080p software. What’s the point of offering AV1 4k?
Massively better quality per byte.
You know, the sole purpose of a lossy video codec?
But the licensing is also far better for end consumers.
None of that is going to benefit you if your phone barfs its guts trying to decode it. Until you get a phone with hardware support it’s going to be purely theoretical. And if Google forces you to decode 720p AV1 in software when you have a perfectly good AVC and HEVC hardware decoder just sitting there is going to be downright stupid.
I think only the last generation or two of iPhones even supported h265. That said there’s a lot less reason for them to take as long supporting av1 if my understanding is correct about the patents Etc. And yes av1 is a massive step up. I’ve been redoing much of my jellyfin library with it and it’s fantastic. But they should still at least offer a fallback of 264 or 265.
The Apple A9 (iPhone 6S) added hardware decoding support for HEVC/H.265, the A10 (iPhone 7) added hardware encoding as well. If I recall correctly Apple was pretty much first in supporting saving video recordings in HEVC.
You might be confusing this for AV1 support, which Apple added with the A17 Pro and the M3 (both decode only though).
No I’m not confusing it. But I’m definitely no expert. All I know is that especially over the pandemic years probably because of lots of family without newer phones at the time though I could have sworn several were. I kept getting lots of complaints about files not playing it all ended up being about h265. So you are probably right.
I am very much not a Microsoft or apple person.
This is not a very helpful article summary.
One of the key benefits of the codec is that it helps maintain video quality during compression and decoding, so many users are excited about the potential for higher quality AV1 video. However, not everyone is happy with the change — particularly those with older devices and midrange phones. It’s mostly newer higher-end phones that have hardware decoding support for AV1, so those with midrange devices and older flagships may have to rely on software decoding now that YouTube has opted in to the libdav1d decoder. Many of these Android users have expressed concern over how the change will impact their battery life if it means a move away from hardware-accelerated decoding.
This is not a very helpful article summary.
Sorry it wasn’t meant to be. I just thought it was funny that they’re taking advantage of VideoLAN’s library (which is presumably open source) rather than their own.
They are and it is. This was anounced two months ago, though i didnt find any articles about google paying for or directly contributing to videolan for the use of it.
https://www.androidauthority.com/android-update-av1-videos-3420418/
Looks like it might be inferred by this:
https://www.videolan.org/projects/dav1d.html
About
dav1d is a new open-source AV1 decoder developed by the VideoLAN and FFmpeg communities and sponsored by the Alliance for Open Media.
https://aomedia.org/membership/members/
Founding Members:
- Amazon
- Apple
- Cisco
- [etc]
It is good that Google is acknowledging that a decoder made by someone else is better than their own by switching to it though.
AV1 is based on VP9. Google made VP9 and it’s open source and royalty free.
Google just joined the Alliance for Open Media and gave their VP9 as a starter for AV1 instead of making some other successor called VP10 or something on their own.
During development of AV1 Google contributed a lot to libaom, the reference implementation in C++, but since this codebase grew together with the codec it is not the most clean design. Also the reference implementation benefits from being clear more than being fast.
Therefore, instead, these days the later projects rav1e (encoder in rust, started by Xiph Foundation) and dav1d (decoder in C, started by the VideoLAN non-profit) are the fastest, because they started from a green field approach when the wire-format for AV1 was mostly fixed and they focused on speed.
I think overall Google’s stance on the Alliance for Open Media makes sense. As part of the new media streaming techno bubble they (as well as Amazon, Facebook, even Microsoft) have an interest in getting an interoperable royalty free codec into the market, and spread it as far as possible, to avoid the rent seeking behaviour of the old guard, Moving Picture Experts Group (MPEG) from Hollywood and similar groups. For every device that wants support for H265 the OEM has to pay a license of around 1 dollar currently.
I would guess some Google devs have contributed to it.
Reminder that all libaom versions are named after My Little Pony characters. Anytime you watch a video encoded in AV1 you are consuming My Little Pony content
Oh no…?
I don’t know if this is meant as a warning, or a “ha, fuck you!”, or an attempt to spark outrage, or to make us all cozy inside.
I’ve never watched the shit so it’s hard for me to tell.
source?
How can I test if my phone uses hardware decoding for AV1?
apps like https://play.google.com/store/apps/details?id=com.parseus.codecinfo (https://apt.izzysoft.de/fdroid/index/apk/com.parseus.codecinfo) show whether or not you’ve got it, on my samsung galaxy note 20 ultra I’ve got software only :(
According to this, my OnePlus Open has hardware av1 decoding. That’s pretty cool.
Nice, I was pretty sure my Pixel 7 already had hardware AV1 decoding and this app seems to confirm it.
Let me save you some time, it doesn’t. I have no idea what Google is thinking, very few phones have it right now.
My Pixel does. 🤷🏼♂️
They’ve delivered the VLC software decoder over-the-air to all devices with Android 12 which enables them to do 720p. Some Android 11 devices may have come with an older software decoder and may be able to do 1080p. Either way, software-decoding AV1 is gonna suck even with the new decoder.
Hardware support is present starting with Exynos 2xxx, Snapdragon 8 gen 2, and Dimensity 1xxx, 8xxx and 9xxx.
Here’s a gsmarena filter, you can further refine it to restrict to recent years, by brand etc.:
Not sure what your point is. You confidently, perhaps prematurely, suggested that OP’s phone didn’t have hardware AV1 decoding. Do you know what kind of phone they have? Your filter also ignores Tensor as a chipset. All Pixels since 6 have AV1 hardware decoding. So, basically, what you’re suggesting is that anyone with a phone over 3 years old doesn’t have AV1 hardware decode, and considering that the specification was only finalized in early 2019, you seem pretty grumpy about it for some reason. Just because it’s being set as default doesn’t mean support is being removed, just deprecating them as a fallback. Why grumpy?
Pixel 6 & newer, newer MediaTek devices, anything with the Snapdragon 8 gen 2 or newer. It took Qualcomm a while because many companies (including Apple) were holding out for VVC, which to this day isn’t in a great state. iPhone 15 Pro & newer support AV1 hwdec
Youtube has multiple format streams (vp9, avc (mp4), av1) by default. So frontends choose the one supported and good.
One one hand av1 has some great advantages and this will force some lagging OEMs to add hardware support
On the other hand snake ass google already split encoding into premium qualities, so they’re just gonna set the “free” bitrate so low it may as well be H264.
I’m still looking for something to replace my shield TV tube. I don’t believe that has AV1 support.
Android added software-based AV 1 decode yesterday so the Shield could support it with an update.
Are they still using Mp3 for audio or have they switched to something more modern for that too?
They’ve been using opus for probably around a decade at this point, and in fact YouTube was a pretty early adopter of it and had a large role in popularizing it
Pretty sure they use opus
Opus and AAC
Firefox for android supports extensions so could probably use youtube mp4 there. Not sure what other youtube frontends (if functional still since the crackdown) support changing the codec
AV1 has been quite disappointing compared to HEVC. Encoding and decoding is super heavy and hardware acceleration is very lacking.
- f 22 ftw.