lavc/rkmppdec: export HDR10+ and HDR Vivid dynamic metadata - #268
Open
DXICM wants to merge 1 commit into
Open
Conversation
Author
|
Note on commit history: the original commits of this PR were made under a shared/company git identity from the development machine's config, rather than a personal one. The commits have been amended to be authored by |
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.
Export per-frame HDR dynamic metadata that the MPP decoder already parses
from HEVC and AV1 streams to the corresponding AVFrame side data:
Static HDR export (mastering display / content light level) is also extended
from HEVC-only to AV1.
Implementation
mpp_frame_get_hdr_dynamic_meta()returns the SEI payload per frame;for HDR10+ the payload starts at the application mode byte, which is
exactly what
av_dynamic_hdr_plus_from_t35()expects (verifiedbyte-for-byte against the soft decoder); for HDR Vivid the payload is the
CUVA T.35 register segment parsed by
ff_parse_itu_t_t35_to_dynamic_hdr_vivid()(guarded by CONFIG_HEVC_SEI).the RPU-only variant MPP exposes).
mpp_frame_get_hdr_dynamic_meta(present in current MPP develop).
Verification (on-device)
frame-0 metadata fields identical.
soft decoder cannot parse the carrier, so ground truth verified via OBU
scan of the raw bitstream.
Known upstream limitation (filed against MPP separately)
For streams where the dynamic SEI appears in multiple AUs, MPP only attaches
it to the first frame (h265 parser latches the SEI). Streams repeating the
SEI in every AU are unaffected.