feat: Write colr atom to muxed mp4 #1261
Merged
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.
This PR is an extension of the full AV1 codec string feature: PR 1205 and relates to Issue 1007 and Issue 1202.
As per the AV1 spec, the codec string may contain optional color values. These color values are critical for detecting HDR video streams - see Issue 1007. Color information is extracted from the input mp4's
colr
atom and used to generate the full AV1 codec string. This PR preserves the color information by writing thecolr
atom to the muxed mp4.References:
Specification - Section 6.4.2 Color config semantics (page 117)
Testing
Manual: AV1 video WITH colr atom
Note: Presence of the colr atom in
bbbhdr_av1.mp4
was verified with a hex editor../out/Release/packager in=~/Downloads/bbbhdr_av1.mp4,stream=video,output=av1_with_colr.mp4 --mpd_output av1_with_colr.mpd
av1_with_colr.mp4
bitstream for thecolr
atom and cross reference the values of the atom's properties with the codec representation string found in the manifest:Format
git clang-format --style Chromium --binary /usr/bin/clang-format 80e024013df87a4bfeb265c8ea83cfa2a0c5db0f
BEGIN_COMMIT_OVERRIDE
feat: Write colr atom to muxed mp4 (#1261)
Closes #1202
END_COMMIT_OVERRIDE