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

avfilter/vf_tonemapx: add dovi tonemapx for 420p10 inputs #447

Merged
merged 3 commits into from
Sep 3, 2024

Conversation

gnattu
Copy link
Member

@gnattu gnattu commented Sep 3, 2024

Changes

This adds Dolby Vision reshaping support for DV Profile 5 videos. The implementation includes some trade-offs for performance during color conversion calculations, which may cause colors in very bright or very dark scenes to appear off. The current implementation requires the input to be in 420p10 format to perform the reshaping. Expanding support to p010 inputs is possible if a use case arises.

Unlike the GPGPU implementation, which performs BL reshaping when only BL is required, this implementation only performs BL reshaping when absolutely necessary. For example, it will not reshape BL for Profile 8 videos and will instead use the HDR10 fallback for performance reasons. The additional reshaping incurs a performance loss of about 35%-50% compared to HDR10 inputs that do not require reshaping. Users will need a 16-core Zen3-level CPU to achieve 4K60 playback if they want to tonemap DV P5 videos on CPU.

Issues

Closes #404

@gnattu gnattu requested a review from a team September 3, 2024 02:36
@nyanmisaka
Copy link
Member

With this change, it might be time to switch to using clang by default for win64, even though the static binary will be twice as large.

@gnattu
Copy link
Member Author

gnattu commented Sep 3, 2024

With this change, it might be time to switch to using clang by default for win64, even though the static binary will be twice as large.

cc @joshuaboniface

We might want to package the Clang-built FFmpeg on Windows starting with Jellyfin 10.10 and Jellyfin-FFmpeg 7.0. This might happen earlier with the unstable builds, but I'm not sure as we don't publish unstable ffmpeg binaries like server.

@nyanmisaka nyanmisaka merged commit 3b82de4 into jellyfin-7.0 Sep 3, 2024
27 checks passed
@nyanmisaka nyanmisaka deleted the jellyfin-7.0-dovi-tonemapx branch September 3, 2024 16:02
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