AVIF HDR Mastering Luminance Metadata Tags

This article provides an overview of the key metadata tags and container boxes within the AV1 Image File Format (AVIF) used by software decoders and display pipelines to identify High Dynamic Range (HDR) mastering luminance levels. AVIF relies on the ISO Base Media File Format (ISOBMFF) architecture alongside underlying AV1 bitstream metadata to signal display peak brightness, black levels, and scene light statistics, ensuring images are accurately tone-mapped to target screens.

The mdcv Item Property (Mastering Display Colour Volume)

The primary tag responsible for specifying mastering luminance limits in an AVIF file is the Mastering Display Colour Volume (mdcv) box. Defined by SMPTE ST 2086 and standardized for ISOBMFF containers, the mdcv box details the physical capabilities of the display monitor used during mastering.

It explicitly reports two core luminance properties:

  • max_display_mastering_luminance: The nominal maximum luminance of the mastering display, configured in units of 0.0001 candelas per square meter (\(\text{cd/m}^2\) or nits). For example, a 1,000-nit display is represented by a value of 10,000,000.
  • min_display_mastering_luminance: The nominal minimum luminance (black point) of the mastering display, also indicated in units of 0.0001 nits (e.g., 0.005 nits is stored as 50).

In addition to luminance limits, mdcv defines the CIE 1931 \((x, y)\) chromaticity coordinates for the mastering display's red, green, and blue primaries, as well as the white point.

The clli Item Property (Content Light Level Information)

While mdcv describes the monitor used during production, the Content Light Level Information (clli) box informs the reader about the actual light levels found within the encoded picture data. Standardized under CTA-861-G and SMPTE ST 2086, it provides two complementary luminance metrics:

  • max_content_light_level (MaxCLL): The maximum light level of any single pixel across the entire image, measured in whole candelas per square meter (\(\text{cd/m}^2\)).
  • max_pic_average_light_level (MaxFALL): The maximum average light level across all active pixels in the picture, also represented in nits.

Display renderers use MaxCLL and MaxFALL to avoid clipping highlights and to balance global brightness when tone-mapping to screens that cannot reach the mastering peak.

The colr Box (Colour Information Property)

Luminance metadata requires an electro-optical transfer function (EOTF) to give the underlying encoded code values absolute or relative physical meaning. The colr box with a nclx (Colour Configuration Box) profile defines this context using three parameters:

  • Transfer Characteristics: Identifies the EOTF curve. For HDR mastering, this is typically set to 16 (SMPTE ST 2084 / Perceptual Quantizer, which maps absolute luminance up to 10,000 nits) or 18 (ARIB STD-B67 / Hybrid Log-Gamma).
  • Colour Primaries: Typically set to 9 (ITU-R BT.2020) for wide-gamut HDR content.
  • Matrix Coefficients: Dictates the color space conversion (e.g., BT.2020 non-constant luminance).

Without an HDR transfer characteristic declared in the colr box, readers cannot interpret the absolute values contained within mdcv and clli.

Container-Level Properties vs. AV1 Sequence Metadata

In AVIF, these properties are primarily exposed at the file container level as ISOBMFF item properties associated with the image item. Exposing mdcv and clli at the container level allows image viewers and browsers to read mastering luminance values immediately during header parsing without decoding the underlying compressed bitstream.

However, AV1 bitstream payload syntax also supports these tags directly through Open Bitstream Units (OBUs):

  • metadata_hdr_mdcv: Encapsulates identical SMPTE ST 2086 parameters inside the AV1 bitstream.
  • metadata_hdr_clli: Encapsulates identical CTA-861-G parameters inside the AV1 bitstream.

According to the AVIF specification, if mastering luminance metadata is present in both the ISOBMFF container boxes (mdcv/clli) and the AV1 bitstream metadata OBUs, the values should match, but conformant readers will prioritize the container-level boxes during parsing.