hi_isp_cmos_drc
说明
定义DRC的CMOS参数。
定义
typedef struct { hi_bool enable; hi_op_mode op_type; hi_u16 manual_strength; hi_u16 auto_strength; hi_u8 spatial_flt_coef; hi_u8 range_flt_coef; hi_u8 contrast_control; hi_s8 detail_adjust_factor; hi_u8 range_ada_max; hi_u8 grad_rev_max; hi_u8 grad_rev_thr; hi_u8 bright_gain_lmt; hi_u8 bright_gain_lmt_step; hi_u8 dark_gain_lmt_y; hi_u8 dark_gain_lmt_c; hi_u8 purple_reduction_strength; hi_u8 local_mixing_bright_max; hi_u8 local_mixing_bright_min; hi_u8 local_mixing_bright_thr; hi_s8 local_mixing_bright_slo; hi_u8 local_mixing_dark_max; hi_u8 local_mixing_dark_min; hi_u8 local_mixing_dark_thr; hi_s8 local_mixing_dark_slo; hi_u16 color_correction_lut[HI_ISP_DRC_CC_NODE_NUM]; hi_u16 tone_mapping_value[HI_ISP_DRC_TM_NODE_NUM]; hi_u8 asymmetry; hi_u8 second_pole; hi_u8 stretch; hi_u8 compress; hi_u8 curve_sel; } hi_isp_cmos_drc;
成员
成员名称 |
描述 |
---|---|
enable |
使能开关。 取值范围: HI_FALSE:关闭; HI_TRUE:使能。 |
op_type |
DRC工作类型。 取值范围: HI_OP_MODE_AUTO:自动; HI_OP_MODE_MANUAL :手动。 |
manual_strength |
手动模式下DRC的强度,值越大,阴影和高光之间的差分增益就越高。 取值范围:[0x0, 0x3FF]。 |
auto_strength |
自动模式 DRC的强度,参数可以读写,值越大,整体强度越大。 取值范围:[0x0, 0x3FF]。 |
spatial_flt_coef |
Filter空域滤波系数。值越大,运动halo越不明显,细节越少,值越小,细节表现越好,运动halo越明显。 取值范围:[0x0, 0x5] |
range_flt_coef |
Filter值域滤波系数。值越大,halo越明显;值越小,halo表现越好,但是在强边缘处可能会出现描边现象。 取值范围:[0x0, 0xA] |
contrast_control |
局部对比度控制,参数效果与图像亮度分布相关,一般场景下建议值为 6 到 10 之间。 取值范围:[0x0, 0xF] |
detail_adjust_factor |
Filter细节微调系数。值越大,整体细节越强。 取值范围:[-0xF, 0xF] |
range_ada_max |
控制值域滤波系数的自适应范围。实际生效滤波系数在[range_flt_coef, MIN(range_flt_coef+range_ada_max, 0xA)]范围内。调大该值有助于减弱边线,但同时可能造成背光物体细节损失。 取值范围:[0x0, 0x8] |
grad_rev_max |
去边线强度。值越大,边线减弱越明显,但是可能会带来细节损失。 取值范围:[0x0, 0x40] |
grad_rev_thr |
边线检测阈值。值越大,边线减弱越明显,但是可能会带来细节损失。 取值范围:[0x0, 0x80] |
bright_gain_lmt |
亮区亮度增益限制目标值;值越大,限制越大。 取值范围:[0x0, 0xF] |
bright_gain_lmt_step |
亮区亮度增益限制自适应步长;值越小,限制越大。 取值范围:[0x0, 0xF] |
dark_gain_lmt_y |
暗区亮度增益限制;值越大,限制越大。 取值范围:[0x0, 0x85] |
dark_gain_lmt_c |
暗区色度增益限制;值越大,限制越大。 取值范围:[0x0, 0x85] |
purple_reduction_strength |
紫边校正强度,值越大,紫边校正强度越大。 取值范围:[0x0, 0x80] |
local_mixing_bright_max |
线性细节增强:用来控制正向细节的增益的最大值。 取值范围:[0x0, 0x80] |
local_mixing_bright_min |
线性细节增强:用来控制正向细节的增益的最小值。 取值范围:[0x0, 0x40] |
local_mixing_bright_thr |
线性细节增强:用来控制正向细节增益随亮度自适应的阈值。当像素亮度超过该阈值,增益将从最大值向最小值过渡(或反之,取决于斜率参数的符号)。 取值范围:[0x0, 0xFF] |
local_mixing_bright_slo |
线性细节增强:用来控制正向细节增益随亮度自适应的斜率。绝对值越大,从最小值到最大值(或反之)过渡越快。 取值范围:[-0x7, 0x7] |
local_mixing_dark_max |
线性细节增强:用来控制负向细节的增益最大值。 取值范围:[0x0, 0x80] |
local_mixing_dark_min |
线性细节增强:用来控制负向细节的增益最小值。 取值范围:[0x0, 0x40] |
local_mixing_dark_thr |
线性细节增强:用来控制负向细节增益随亮度自适应的阈值。当像素亮度超过该阈值,增益将从最小值向最大值过渡(或反之,取决于斜率参数的符号)。 取值范围:[0x0, 0xFF] |
local_mixing_dark_slo |
线性细节增强:用来控制负向细节增益随亮度自适应的斜率。绝对值越大,从最小值到最大值(或反之)过渡越快。 取值范围:[-0x7, 0x7] |
color_correction_lut |
颜色校正系数LUT,值越小,饱和度越低。 取值范围:[0x0, 0x400] #define HI_ISP_DRC_CC_NODE_NUM 33 |
tone_mapping_value |
用户自定义Tone Mapping曲线LUT。 取值范围:[0x0, 0xFFFF] #define HI_ISP_DRC_TM_NODE_NUM 200 |
asymmetry |
用于生成 Asymmetry Curve, 值越小,暗区亮度拉伸越明显。 取值范围:[1, 30] |
second_pole |
用于生成 Asymmetry Curve,值越小,亮区亮度压制越强,有利于保留高亮细节。 取值范围:[150, 210] |
stretch |
用于生成 Asymmetry Curve,值越小,整体亮度越亮。 取值范围:[30, 60] |
compress |
用于生成 Asymmetry Curve,值越小,整体亮度越亮。 取值范围:[100, 200] |
curve_sel |
DRC Tone mapping曲线选择。 取值范围:
|