hi_dynamic_range

Description

Defines the dynamic ranges.

Prototype

typedef enum {
    HI_DYNAMIC_RANGE_SDR8 = 0,
    HI_DYNAMIC_RANGE_SDR10,
    HI_DYNAMIC_RANGE_HDR10,
    HI_DYNAMIC_RANGE_HLG,
    HI_DYNAMIC_RANGE_SLF,
    HI_DYNAMIC_RANGE_XDR,
    HI_DYNAMIC_RANGE_BUTT
} hi_dynamic_range;

Members

Member

Description

HI_DYNAMIC_RANGE_SDR8

8-bit standard dynamic range.

HI_DYNAMIC_RANGE_SDR10

10-bit standard dynamic range

HI_DYNAMIC_RANGE_HDR10

10-bit high dynamic range.

HI_DYNAMIC_RANGE_HLG

Hybrid Log-Gamma (HLG).

HI_DYNAMIC_RANGE_SLF

Reserved

HI_DYNAMIC_RANGE_XDR

10-bit data type used for algorithm processing, which can be ignored.

HI_DYNAMIC_RANGE_BUTT

Reserved.

Restrictions

The curves of these dynamic ranges are described as follows.

Dynamic Range

Transfer Characteristic

SDR8/ SDR10

V = α * Lc0.45 − (α − 1) for 1 >= Lc >= β

V = 4.500 * Lc for β > Lc >= 0

HDR10

V = ( ( c1 + c2 * Lcn ) ÷ ( 1 + c3 * Lcn ) ) for all values of Lc

c1 = c3 − c2 + 1 = 3424 ÷ 4096 = 0.8359375

c2 = 32 x 2413 ÷ 4096 = 18.8515625

c3 = 32 x 2392 ÷ 4096 = 18.6875

m = 128 x 2523 ÷ 4096 = 78.84375

n = 0.25 x 2610 ÷ 4096 = 0.1593017578125

For which Lc equal to 1 for peak white is ordinarily intended to correspond to a reference output luminance level of 10000 candelas per square metre.

HLG

V = a x Ln( 12 x Lc − b ) + c for 1 ≥ Lc > 1 ÷ 12

V = Sqrt( 3 ) x Lc0.5 for 1 ÷ 12 ≥ Lc ≥ 0

a = 0.17883277, b = 0.28466892, c = 0.55991073