文档
注册

hi_isp_drc_attr

说明

定义 ISP DRC 属性。

定义

typedef struct {
     hi_bool enable;
     hi_isp_drc_curve_select curve_select;
     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_u8  bright_gain_lmt;
     hi_u8  bright_gain_lmt_step;
     hi_u8  dark_gain_lmt_y;
     hi_u8  dark_gain_lmt_c;
     hi_u16 color_correction_lut[HI_ISP_DRC_CC_NODE_NUM];
     hi_u16 tone_mapping_value[HI_ISP_DRC_TM_NODE_NUM];

     hi_u8  contrast_control;
     hi_s8  detail_adjust_factor;

     hi_u8  spatial_flt_coef;
     hi_u8  range_flt_coef;
     hi_u8  range_ada_max;

     hi_u8  grad_rev_max;
     hi_u8  grad_rev_thr;

     hi_op_mode op_type;
     hi_isp_drc_manual_attr manual_attr;
     hi_isp_drc_auto_attr   auto_attr;
     hi_isp_drc_asymmetry_curve_attr asymmetry_curve;
} hi_isp_drc_attr;

成员

成员名称

描述

enable

DRC 动态范围压缩使能。

取值范围:
  • HI_FALSE:关闭
  • HI_TRUE:使能

curve_select

DRC Tone mapping 曲线选择。

取值范围:

  • HI_ISP_DRV_CURVE_ASYMMETRY:Asymmetry curve
  • HI_ISP_DRC_CURVE_USER:用户自定义曲线

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]

bright_gain_lmt

亮区亮度增益限制目标值,值越大,限制越大。

取值范围:[0x0, 0xF]

bright_gain_lmt_step

亮区亮度增益限制自适应步长,值越小,限制越大。

取值范围:[0x0, 0xF]

dark_gain_lmt_y

暗区亮度增益限制,值越大,限制越大。

取值范围:[0x0, 0x85]

dark_gain_lmt_c

暗区色度增益限制,值越大,限制越大。

取值范围:[0x0, 0x85]

color_correction_lut[HI_ISP_DRC_CC_NODE_NUM]

颜色校正系数LUT,值越小,饱和度越低。

取值范围:[0x0, 0x400]

#define HI_ISP_DRC_CC_NODE_NUM          33

tone_mapping_value[HI_ISP_DRC_TM_NODE_NUM]

用户自定义Tone Mapping曲线 LUT。

取值范围:[0x0, 0xFFFF]

#define HI_ISP_DRC_TM_NODE_NUM          200

contrast_control

局部对比度控制,参数效果与图像亮度分布相关,一般场景下建议值为6到10 之间。

取值范围:[0x0, 0xF]

detail_adjust_factor

Filter细节微调系数。值越大,整体细节越强。

取值范围:[-0xF, 0xF]

spatial_flt_coef

Filter 空域滤波系数。值越大,运动光晕越不明显,细节越少;值越小,细节表现越好,运动halo越明显。

取值范围:[0x0, 0x5]

range_flt_coef

Filter 值域滤波系数。值越大,halo越明显;值越小,halo表现越好,但是在强边缘处可能会出现描边现象。

取值范围:[0x0, 0xA]

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]

op_type

DRC工作类型。

取值范围:

  • HI_OP_MODE_AUTO:使用自动 DRC 功能。
  • HI_OP_MODE_MANUAL:使用手动 DRC 功能。

manual_attr

DRC 手动参数。

auto_attr

DRC 自动参数。

asymmetry_curve

DRC Asymmetry Curve 属性.

注意事项

  • 建议color_correction_lut 的值不要调试过小,因为降低饱和度的同时会带来高频细节的损失,用户可以配合CA模块来调试整体饱和度。
  • dark_gain_lmt_y和dark_gain_lmt_c两个接口的实际效果不完全平滑,即参数在两个相邻值之间切换时,效果可能存在跳变。
搜索结果
找到“0”个结果

当前产品无相关内容

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