Closed cconcolato closed 3 years ago
Actually those box definitions are now part of ISOBMFF 6th edition (to be published, which integrates ISO/IEC 14496-12:2015/Amd 2:2018 freely available here), and the cclv
box is defined as
class ContentColourVolumeBox extends Box('cclv'){
unsigned int(1) reserved1 = 0; // ccv_cancel_flag
unsigned int(1) reserved2 = 0; // ccv_persistence_flag
unsigned int(1) ccv_primaries_present_flag;
unsigned int(1) ccv_min_luminance_value_present_flag;
unsigned int(1) ccv_max_luminance_value_present_flag;
unsigned int(1) ccv_avg_luminance_value_present_flag;
unsigned int(2) ccv_reserved_zero_2bits = 0;
if( ccv_primaries_present_flag ) {
for( c = 0; c < 3; c++ ) {
signed int(32) ccv_primaries_x[ c ];
signed int(32) ccv_primaries_y[ c ];
}
}
if( ccv_min_luminance_value_present_flag )
unsigned int(32) ccv_min_luminance_value;
if( ccv_max_luminance_value_present_flag )
unsigned int(32) ccv_max_luminance_value;
if( ccv_avg_luminance_value_present_flag )
unsigned int(32) ccv_avg_luminance_value;
}
We welcome experts to comment on the need for the cclv
box.
Cyril: Since the AV1 spec has metadata_hdr_mdcv() and metadata_hdr_cll() OBUs, the metadata OBUs may potentially conflict with the new mdcv and clli HEIF properties. The AVIF spec could describe how to resolve conflicts if both the metadata OBUs and HEIF properties are present, such as by precedence (e.g., HEIF properties override metadata OBUs).
@wantehchang The AV1-ISOMBFF spec already requires those values to match the OBU values, doesn't it?
For sample entries corresponding to HDR content, the MasteringDisplayColourVolumeBox mdcv and ContentLightLevelBox clli SHOULD be present, and their values SHALL match the values of contained in the Metadata OBUs of type METADATA_TYPE_HDR_CLL and METADATA_TYPE_HDR_MDCV, if present (in the configOBUs or in the samples).
Or am I misunderstanding what you mean?
Edit: I meant, can we add the same for AVIF?
Hi Derek:
You understand my comment correctly. I didn't check the AV1-ISOMBFF spec when I wrote my comment.
The relation between the AVIF and AV1-ISOBMFF specs is not very clear to me. I believe AVIF only uses some types defined in AV1-ISOBMFF. Without checking the specs carefully, I am not sure if the AVIF spec "inherits" that requirement from the AV1-ISOBMFF spec. So it may be good to add the same requirement to AVIF.
Yes, it is/was unclear to me too, apologies!
@dwbuiten The provisions in AV1-ISOBMFF are only applicable to AVIF image sequences. For items, AVIF depends on MIAF/HEIF. Regarding properties and metadata OBUs, the current spec says:
Metadata OBUs, if present, shall match the values given in other item properties, such as the PixelInformationProperty or ColourInformationBox.
HEIF 2nd Edition Amd1 specifies new property types:
AVIF current refers to MIAF for the first 2 (https://aomediacodec.github.io/av1-avif/#other-item-property) and does not mention the third one.