文档
注册

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曲线选择。

取值范围:

  • 0:Asymmetry curve;
  • 1:用户自定义曲线
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词