-
Notifications
You must be signed in to change notification settings - Fork 1
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
Cocallaghan/writing colr atom #9
base: cocallaghan/av1-codec-string
Are you sure you want to change the base?
Cocallaghan/writing colr atom #9
Conversation
unsigned int transfer_characteristics; | ||
unsigned int matrix_coefficients; | ||
unsigned int video_full_range_flag; | ||
video.colr.color_parameter_type = FOURCC_nclx; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cosmin, Is there an issue if we always write the colr atom as nclx
? Even if the original atom was type nclc
, we can make the output nclx
by including the video_full_range_flag
in the bitstream (it's value would be 0). Other than the inclusion of the video_full_range_flag
data, is there any other differences between nclc
and nclx
?
Writing as nclx
saves us from having to propagate the color parameter type through VideoStreamInfo
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I can tell for MP4 we always want to write nclx
. The use of nclc
should be just for reading from QuickTime MOV.
b5d5f74
to
31c590a
Compare
…ent (shaka-project#1205) As per the AV1 spec, the codec string may contain optional color values. This extracts the missing color information from the mp4 `colr` atom, if present, and generates the full AV1 codec string. Closes shaka-project#1007
9f2b379
to
71d68b4
Compare
This PR is an extension of the full AV1 codec string feature.
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