hi_dynamic_range
说明
定义动态范围枚举。
定义
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;
成员
成员名称 |
描述 |
---|---|
HI_DYNAMIC_RANGE_SDR8 |
8bit 数据的标准动态范围。 |
HI_DYNAMIC_RANGE_SDR10 |
10bit 数据的标准动态范围 |
HI_DYNAMIC_RANGE_HDR10 |
10bit 数据的高动态范围。 |
HI_DYNAMIC_RANGE_HLG |
带有混合对数的Gamma。 |
HI_DYNAMIC_RANGE_SLF |
暂时无效 |
HI_DYNAMIC_RANGE_XDR |
10bit 数据,算法处理的一个中间类型数据,用户无需关心。 |
HI_DYNAMIC_RANGE_BUTT |
保留值。 |
注意事项
各个动态范围对应的曲线如下:
Dynamic Range |
Transfer Characteristic |
---|---|
SDR8/ SDR10 |
V = α * Lc0.45 − (α − 1)for 1 >= Lc >= β V = 4.500 * Lcfor β > Lc >= 0 |
HDR10 |
对于Lc的所有值,V = ( ( c1 + c2 * Lcn ) ÷ ( 1 + c3 * Lcn ) ) 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 其中,峰白区Lc等于1通常是为了表示参考输出发光亮度,即10000坎德拉每平方米。 |
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 |