hi_isp_cmos_lcac

Description

Defines the CMOS parameters of LCAC.

Definition

typedef struct {
    hi_bool        enable;
    hi_op_mode     op_mode;
    hi_u16         var_thr;
    hi_u16         r_luma_thd[HI_ISP_LCAC_DET_NUM];
    hi_u16         g_luma_thd[HI_ISP_LCAC_DET_NUM];
    hi_u16         b_luma_thd[HI_ISP_LCAC_DET_NUM];
    hi_u16         y_luma_thd[HI_ISP_LCAC_DET_NUM];
    hi_s16         cbcr_ratio[HI_ISP_LCAC_DET_NUM];
    hi_u16         purple_det_range;
    hi_isp_cmos_lcac_manual  manual_attr;
    hi_isp_cmos_lcac_auto    auto_attr;
} hi_isp_cmos_lcac;

Members

Member

Description

enable

Purple fringing correction enable

HI_FALSE: disabled

HI_TRUE: enabled

op_mode

Purple fringing correction working mode

var_thr

Value range of var_threshold: [0, 4095].

r_luma_thd

The parameter value is divided into three segments. The value of each segment indicates the R component threshold in the highlight detection module. The value that takes effect depends on the value of the purple_detect_range parameter. A smaller value of purple_detect_range indicates the tendency to the first segment of r_detect_threshold while a larger value of purple_detect_range indicates the tendency to the third segment of r_detect_threshold. Value range: [0, 4095]

#define HI_ISP_LCAC_DET_NUM             3

g_luma_thd

The parameter value is divided into three segments. The value of each segment indicates the G component threshold in the highlight detection module. The value that takes effect depends on the value of the purple_detect_range parameter. A smaller value of purple_detect_range indicates the tendency to the first segment of g_detect_threshold while a larger value of purple_detect_range indicates the tendency to the third segment of g_detect_threshold.

Value range: [0, 4095]

b_luma_thd

The parameter value is divided into three segments. The value of each segment indicates the B component threshold in the highlight detection module. The value that takes effect depends on the value of the purple_detect_range parameter. A smaller value of purple_detect_range indicates the tendency to the first segment of b_detect_threshold while a larger value of purple_detect_range indicates the tendency to the third segment of b_detect_threshold.

Value range: [0, 4095]

y_luma_thd

The parameter value is divided into three segments. The value of each segment indicates the luminance component threshold in the highlight detection module. The value that takes effect depends on the value of the purple_detect_range parameter. A smaller value of purple_detect_range indicates the tendency to the first segment of luma_detect_threshold while a larger value of purple_detect_range indicates the tendency to the third segment of luma_detect_threshold.

Value range: [0, 4095]

cbcr_ratio

The parameter value is divided into three segments. The value of each segment indicates the blue degree of the purple detection module. The value that takes effect depends on the value of the purple_detect_range parameter. A smaller value of purple_detect_range indicates the tendency to the first segment of cb_cr_ratio while a larger value of purple_detect_range indicates the tendency to the third segment of cb_cr_ratio.

Value range: [-2048, 2047]

purple_det_range

Purple detection range. This value controls whether the r_detect_threshold, g_detect_threshold, b_detect_threshold, Iuma_detect_threshold, and cb_cr_ratio parameters take effect. A larger value indicates that purple in more non-highlighted regions are defined as purple regions. purple_detect_range may cause unsmooth purple fringing reduction. You can check the settings of r_detect_threshold, g_detect_threshold, b_detect_threshold, Iuma_detect_threshold, and cb_cr_ratio.

Value range: [0, 410]

manual_attr

Purple fringing correction strength parameter in manual mode.

auto_attr

Purple fringing correction strength parameter in automatic mode.