This document specifies how to use HDR10+ metadata within [AV1] bitstreams, including when carried in [CMAF]. HDR10+ metadata enables devices to optimize rendering of HDR content based on the display capabilities and on a scene-by-scene and frame-by-frame basis.
Various tools, services and devices support creation and use of HDR10+ metadata, which can be easily utilized directly in [AV1] systems.
Carriage of HDR10+ metadata in [AV1] leverages mechanisms specified in [T35] and [CTA-861]. HDR10+ metadata is placed in metadata OBUs of
metadata_type equal to
This document covers details of the placement of these OBUs in [AV1] bitstreams.
2. Use of HDR10+ in AV1 bitstreams
2.1. HDR10+ Metadata
In the context of this specification, the syntax and semantics of the HDR10+ Metadata are defined in [CTA-861] and [ST-2094-40] respectively.
An HDR10+ Metadata OBU is defined as HDR10+ Metadata carried in a Metadata OBU.
metadata_type of such Metadata OBU is set to
METADATA_TYPE_ITUT_T35 and the
itu_t_t35_country_code of the corresponding Metadata ITUT T35 element is set to
The remaining syntax element of Metadata ITUT T35,
itu_t_t35_payload_bytes, is interpreted using the syntax defined in Annex S of [CTA-861], starting with the
itu_t_t35_terminal_provider_code, and the semantics defined in [ST-2094-40].
According to the definition of the HDR10+ Metadata, the first 6 bytes of the
itu_t_t35_payload_bytes of the HDR10+ Metadata OBU are set as follows:
0x003C, which corresponds to
itu_t_t35_terminal_provider_codefrom Annex S of [CTA-861]
0x0001, which corresponds to
itu_t_t35_terminal_provider_oriented_codefrom Annex S of [CTA-861]
0x4, which corresponds to
application_identifierfrom Annex S of [CTA-861]
0x1, which corresponds to
application_modefrom Annex S of [CTA-861]
All the remaining bytes of the
itu_t_t35_payload_bytes identify as the HDR10+ Metadata and are associated with the syntax elements of the
user_data_registered_itu_t_t35 structure that is defined in Annex S of [CTA-861].
For convenience, the structure of the HDR10+ Metadata OBU is illustrated in Figure 1.
NOTE: [AV1] defines the general Metadata OBU syntax for HDR10 Static Metadata and ITU-T T.35 Metadata.
HDR10 Static Metadata is defined as a combination of three types of HDR related metadata, including MDCV, MaxCLL and MaxFALL. MDCV shall be present while MaxCLL and/or MaxFALL may be present.
2.2. HDR10+ bitstream constraints
The following sections define constraints that apply to [AV1] bitstreams when carrying HDR10+ Metadata.
2.2.1. Color Configuration
Streams suitable for incorporating HDR10+ metadata as described in this specification shall use the following values for the [AV1]
color_primaries = 9[CICP], which corresponds to the ITU-R BT.2020 color primaries [BT-2020] [BT-2100],
transfer_characteristics = 16[CICP], which corresponds to the PQ transfer characteristics function [ST-2084] [BT-2100],
matrix_coefficients = 9[CICP], which corresponds to the non-constant luminance Y’CbCr representation [BT-2020] [BT-2100].
Additionally, the following recommendations apply:
color_rangeshould be set to 0,
subsampling_yshould be set to 0,
mono_chromeshould be set to 0,
chroma_sample_positionshould be set to 2.
2.2.2. Placement of HDR10+ Metadata OBUs
As defined in [AV1], an AV1 coded video sequence consists of one or more temporal units. A temporal unit contains a series of OBUs starting from a Temporal Delimiter OBU, optional Sequence Header OBUs, optional Metadata OBUs, a sequence of one or more Frame Header OBUs, each followed by zero or more Tile Group OBUs as well as optional Padding OBUs.
Consequently, for each frame with
show_frame = 1 or
show_existing_frame = 1, there shall be one and only one HDR10+ metadata OBU preceding the Frame Header OBU for this frame and located after the last OBU of the previous frame (if any) or after the Sequence Header OBU (if any) or after the start of the temporal unit (e.g. after the Temporal Delimiter OBU, for storage formats where Temporal Delimiter OBUs are preserved).
show_frame = 0. For non-layered streams, there is only one HDR10+ Metadata OBU per temporal unit. For [AV1] bitstreams encoded with multiple layers, HDR10+ Metadata may apply to one or more layers. However, the details are out of scope of this version of the specification.
Figure 2 shows a simplified example of placement of HDR10+ Metadata OBUs in an AV1 bitstream.
2.2.3. Provision for Film Grain Processing
It is possible that some [AV1] bitstreams may contain both HDR10+ Metadata and film grain synthesis information. It is recommended that decoders in such scenarios perform the film grain synthesis prior to any HDR10+ Metadata processing.
3. Storage and Transport considerations
3.1. Constraints on AV1CodecConfigurationRecordFor formats that use the
AV1CodecConfigurationRecordwhen storing [AV1] bitstreams (e.g. ISOBMFF and MPEG-2 TS), HDR10+ Metadata OBUs shall not be present in the
configOBUsfield of the
3.2. ISOBMFF ConstraintsAV1 Metadata sample group defined in [AV1-ISOBMFF] shall not be used.
[AV1-ISOBMFF] indicates that Metadata OBUs may be protected. This specification requires that HDR10 Static Metadata and HDR10+ Metadata OBUs are unprotected.An ISOBMFF file or CMAF AV1 track as defined in [AV1-ISOBMFF] that also conforms to this specification (i.e. that contains HDR10+ metadata OBUs and complies to the constraints from this specification) should use the brand
cdm4defined in [CTA-5001] in addition to the brand
av01. If the brand
cdm4is used in conjunction with [AV1] bitstreams, the constraints defined in this specification shall be respected.
3.3. HTTP Streaming ConstraintsThe value of the Codecs Parameter String for [AV1] bitstreams that is used when using HTTP streaming technologies shall remain unchanged when HDR10+ Metadata OBUs are included in the [AV1] stream.
Additionally, [DASH] content following [DASH-IOP] should include a Supplemental Descriptor with
@schemeIdUri set to
@value set to
"SMPTE2094-40" in manifest files. This can aid players to identify tracks containing HDR10+ Metadata OBUs.
4. Example Streams and Tools
Information on this topic is found in the Wiki for this project.