Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
ffmpeg_4: Enable support for AV1 decoding via dav1d by default #66527
This is e.g. required for mpv (depends on ffmpeg_4) to play AV1 videos.
But since dav1d is only a AV1 decoder this doesn't support AV1 encoding
TODOs for review:
Motivation for this change
Imo this is mostly a closure size issue, it looks like we can amend the
Yes, my take at least on the
@adisbladis thanks for the feedback :)
Sounds good :)
And the adoption of AV1 will hopefully progress "fast" (for a codec): https://en.wikipedia.org/wiki/AV1#Adoption
I'm just a bit concerned about the performance without proper hardware acceleration, but that'll hopefully change soon as well :)
@adisbladis I just gave
The stable version of libaom is unusable grade outdated. On my personal system I build it from a git snapshot (rev 32185d165e0a238a32b20c5bbd59e360bd46d067 currently. Could probably go a bit newer). At least for my mpv closure.
Unfortunately libaom API seems to be quite unstable, and bumping it globally might break other users of libaom (that expect 1.0.0) than ffpmeg.
My proposal would be that we either build ffmpeg_4 with a known good git revision of libaom, or simply don't support libaom in ffmpeg_4 for the time being (so no encoding, unfortunately), and focus on libdav1d which is both more stable API-wise and faster at decoding. The latter has the benefit of making dav1d the default decoder for AV1 in e.g. mpv (last time I checked it would default to the slower libaom unless you run
Edit: Misc clarifications. Change the link into my nixconfig, as it was pointing to a revision of it with not quite working libaom
Agreed, I already checked what other distributions are doing but it seems like most distributions are also packaging the stable releases: https://repology.org/project/aom/versions
Most packages would hopefully only use it indirectly via ffmpeg which should be fine if ffmpeg still builds (AFAIK).
Currently, the only other package with a direct dependency on
I'll update this PR to focus on AV1 decoding via
Yeah, that's a bit annoying - would be great if