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. |
Considerations
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 * 2413 ÷ 4096 = 18.8515625 c3 = 32 * 2392 ÷ 4096 = 18.6875 m = 128 * 2523 ÷ 4096 = 78.84375 n = 0.25 * 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 * Ln( 12 * Lc − b ) + c for 1 >= Lc > 1 ÷ 12 V = Sqrt( 3 ) * Lc0.5 for 1 ÷ 12 >= Lc >= 0 a = 0.17883277, b = 0.28466892, c = 0.55991073 |