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

avcodec/videotoolbox: backport AV1 hardware acceleration #500

Merged
merged 1 commit into from
Nov 16, 2024

Conversation

gnattu
Copy link
Member

@gnattu gnattu commented Nov 15, 2024

Changes

This backports AV1 hardware acceleration from upstream and has been tested on the M4 Max. It is important to note that unlike other hardware acceleration provided by VideoToolbox, Apple does not offer any software fallback for AV1. Consequently, the decode will silently fail for all frames when the system lacks AV1 support or when the video utilizes parameters not supported by the decoder (e.g., 4:2:2 and 4:4:4 color). To address this issue, we must implement a server-side workaround to provide graceful software fallback. This is feasible as Apple has a finite set of chips that do not support AV1, while all current chips support AV1 and possess the same decoding capabilities.

Issues

@gnattu gnattu requested a review from a team November 15, 2024 08:42
Copy link
Contributor

@Shadowghost Shadowghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm kind of astonished that 422 and 444 are not supported.

@gnattu
Copy link
Member Author

gnattu commented Nov 15, 2024

I'm kind of astonished that 422 and 444 are not supported.

It is normal as those are not supported by current gen hardware from all vendors.

@nyanmisaka
Copy link
Member

Dav1d is already highly optimized on ARM via NEON (+some SVE(2)), not sure why Apple only provides AVIF support via it.

@gnattu gnattu merged commit 10e9aaf into jellyfin Nov 16, 2024
27 checks passed
@gnattu gnattu deleted the jellyfin-vt-av1dec branch November 16, 2024 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants