Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider adding AV1 support to the VideoDecoder #5971

Open
FreezyLemon opened this issue Aug 19, 2023 · 2 comments
Open

Consider adding AV1 support to the VideoDecoder #5971

FreezyLemon opened this issue Aug 19, 2023 · 2 comments

Comments

@FreezyLemon
Copy link
Contributor

AV1 is a relatively new open and royalty-free video format that can be seen as the successor to VP9. It is steadily being adopted by software projects (see wikipedia article) and modern GPUs already have hardware decoding and encoding support for it.

Decoding AV1 is more CPU-intensive than HEVC or VP9 (ignoring hardware acceleration), so it might not be well-suited to things like background video. But I'd argue it still makes sense to generally support it in a modern game framework.

ffmpeg supports av1 decoding through either libaom (reference implementation, fairly slow) or dav1d (used by most applications), so implementing this should be as "easy" as adding dav1d to the ffmpeg build scripts. I have some experience with ffmpeg compilation, so I'd be open to adding this.

@peppy
Copy link
Sponsor Member

peppy commented Aug 19, 2023

If you have reason to need this aloft a project, helping with #5051 would be appreciated.

I don't think it's required for osu! at this point in time though. Higher cpu overheads for video decode is the last thing we want.

@FreezyLemon
Copy link
Contributor Author

The difference in decoding overhead is not that big, even compared to H.264. And using a better format also allows using lower bitrates while retaining similar quality, which also has some advantages.

That said, I understand the reservations. I'll focus my efforts elsewhere for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants