Headroom Adaptive Gain Curves (HAGC)

Headroom Adaptive Gain Curves (HAGC), standardized as SMPTE ST 2094-50, is the underlying technology behind Eclipsa Video. Eclipsa Video is a modern HDR video standard that lets creators preserve the artistic intent of their content across devices and viewing environments.

Android 17 provides support for playback and capture of HAGC content.

OEM integration

The following sections describe the steps for how OEMs can integrate HAGC support into their devices.

Gralloc integration

To transport of SMPTE ST 2094-50 metadata, ensure that the gralloc Mapper HAL supports storage and retrieval of SMPTE ST 2094-50 standard metadata.

Camera integration

To capture HAGC content, ensure that the camera HAL advertises a DynamicRangeProfile indicating SMPTE ST 2094-50 metadata is attached to an output camera stream. For more details, see 10-bit camera output.

Codec integration

To decode HAGC content, ensure that codec implementations that extract T.35 messages from an input bitstream (for example, AV1 and H.265) support extracting C2StreamHdrDynamicMetadataInfo with a type of HDR_DYNAMIC_METADATA_TYPE_SMPTE_2094_50.

Display integration

To display HAGC content, ensure that the Hardware Composer (HWC) exposes least one LutProperties for hardware-accelerated tonemapping. For the best quality, implementations are recommended to expose a 3D LUT. Devices that don't support hardware-acceleration, or devices that need to validate their LUT support, may defer to a reference GPU-based tonemapping shader, by enabling the debug.sf.force_agtm_without_luts system property.