Fix HEVC fallback for Dolby Vision Profile 7 to preserve HDR10+ metadata#3160
Open
guyyagil wants to merge 1 commit intoandroidx:mainfrom
Open
Fix HEVC fallback for Dolby Vision Profile 7 to preserve HDR10+ metadata#3160guyyagil wants to merge 1 commit intoandroidx:mainfrom
guyyagil wants to merge 1 commit intoandroidx:mainfrom
Conversation
On devices that don't support Dolby Vision output, Profile 7 (DvheDtb) remux files fell back to plain HDR10 because the HEVC base-layer fallback path was blocked in getAlternativeCodecMimeType. - Allow DolbyVisionProfileDvheDtb to fall back to HEVC in getAlternativeCodecMimeType, since its base layer is always backward-compatible HEVC Main 10. Made-with: Cursor
5968fe7 to
d728e84
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On devices/displays that do not support Dolby Vision, playback of DV Profile 7 (dvhe.07) hybrid remux files containing HDR10+ metadata in the base layer falls back to plain HDR10 instead of utilizing the HDR10+ dynamic metadata present in the HEVC base layer.
The issue is that getAlternativeCodecMimeType explicitly excludes DolbyVisionProfileDvheDtb (Profile 7) from the HEVC fallback path, so getAlternativeDecoderInfos returns empty on non-DV displays and no HEVC decoder is selected.
This change does not add Dolby Vision Profile 7 support.
It only enables HEVC fallback for cases where the platform decoder is already capable of decoding the base layer.
In practice, hybrid remux files (dvhe.07) contain a backward-compatible HEVC Main 10 base layer with HDR10+ metadata. Currently, excluding Profile 7 prevents selecting a usable HEVC decoder on non-DV displays, resulting in playback issues or loss of HDR10+ metadata.
This change aligns Profile 7 behavior with existing fallback handling for Profile 8, without affecting Dolby Vision-capable devices.
Fixes #3119