Skip to main content

hi_isp_awb_ccm_tab

hi_isp_ae_sensor_exp_func

说明定义

sensor回调函数结构体。

定义

typedefstruct {
hi_s32 (*pfn_cmos_get_ae_default)(hi_vi_pipe vi_pipe, hi_isp_ae_sensor_default*ae_sns_dft);
hi_void (*pfn_cmos_fps_set)(hi_vi_pipe vi_pipe, hi_floatf32_fps, hi_isp_ae_sensor_default*ae_sns_dft);
hi_void (*pfn_cmos_slow_framerate_set)(hi_vi_pipe vi_pipe, hi_u32full_lines, hi_isp_ae_sensor_default*ae_sns_dft);
hi_void (*pfn_cmos_inttime_update)(hi_vi_pipe vi_pipe, hi_u32int_time);
hi_void (*pfn_cmos_gains_update)(hi_vi_pipe vi_pipe, hi_u32again, hi_u32dgain);
hi_void (*pfn_cmos_again_calc_table)(hi_vi_pipe vi_pipe, hi_u32*again_lin, hi_u32*again_db);
hi_void (*pfn_cmos_dgain_calc_table)(hi_vi_pipe vi_pipe, hi_u32*dgain_lin, hi_u32*dgain_db);
hi_void (*pfn_cmos_get_inttime_max)(hi_vi_pipe vi_pipe, hi_u16man_ratio_enable,
hi_u32*ratio, hi_u32*int_time_max, hi_u32*int_time_min, hi_u32*lf_max_int_time);
hi_void (*pfn_cmos_ae_fswdr_attr_set)(hi_vi_pipe vi_pipe, hi_isp_ae_fswdr_attr*ae_fswdr_attr);
hi_void (*pfn_cmos_ae_quick_start_status_set)(hi_vi_pipe vi_pipe, hi_boolquick_start_status);
hi_void (*pfn_cmos_exp_param_convert)(hi_vi_pipe vi_pipe, hi_isp_ae_convert_param*exp_param);
} hi_isp_ae_sensor_exp_func;

成员

成员名称描述
pfn_cmos_get_ae_default获取AE算法库的初始值的回调函数指针。
pfn_cmos_fps_set设置sensor的帧率。
pfn_cmos_slow_framerate_set设置sensor的降帧。
pfn_cmos_inttime_update设置sensor的曝光时间。
pfn_cmos_gains_update设置sensor的模拟增益和数字增益。
pfn_cmos_again_calc_table计算TABLE类型sensor模拟增益。
pfn_cmos_dgain_calc_table计算TABLE类型sensor数字增益。
pfn_cmos_get_inttime_maxWDR模式下,计算短帧最大曝光时间的回调函数指针,与sensor强相关。
pfn_cmos_ae_fswdr_attr_set2to1LineWDR模式下,设置长帧模式。
pfn_cmos_ae_quick_start_status_set设置AE无光敏快启收敛状态。
pfn_cmos_exp_param_convert完成不同帧率等曝光量转换曝光参数属性,配套hi_mpi_isp_get_exp_convert提供。

注意事项

  • 如果回调函数指针不需要赋值,需要置为NULL。
  • 在hi_isp_ae_sensor_default中定义了曝光时间和增益的精度,pfn_cmos_inttime_update和pfn_cmos_gains_update中设置的曝光时间和增益都是带精度的值,如何转换成sensor的配置值与sensor强相关,请参阅sensor手册。
  • 不使用无光敏快启功能时,pfn_cmos_ae_quick_start_status_set需要设置为NULL。
  • quick_start_status是AE无光敏快启收敛状态的标志位。该值为HI_TRUE时,无光敏快启收敛完成。

父主题: ISP系统控制及3A算法注册

hi_isp_ae_sensor_register

说明

定义sensor注册结构体。

定义

typedef struct {
hi_isp_ae_sensor_exp_func sns_exp;
} hi_isp_ae_sensor_register;

成员

成员名称描述
sns_expSensor注册的回调函数结构体。

父主题: ISP系统控制及3A算法注册

hi_isp_awb_agc_table

说明

定义饱和度初始化参数结构体。

定义

typedef struct {
hi_bool valid;
hi_u8 saturation[HI_ISP_AUTO_ISO_NUM];
} hi_isp_awb_agc_table;

成员

成员名称描述
valid该结构体的数据是否有效,取值范围为 0、1。
saturation根据增益动态调节饱和度的插值数组,数组内元素的取值范围为[0, 255]。 saturation为非单调递减序列。 HI_ISP_AUTO_ISO_NUM用于定义ISO档位数,表示16。

父主题: ISP系统控制及3A算法注册

hi_isp_awb_ccm_tab

说明

定义不同色温下自动颜色校正矩阵系数。

定义

typedef struct {
hi_u16 color_temp;
hi_u16 ccm[HI_ISP_CCM_MATRIX_SIZE];
} hi_isp_awb_ccm_tab;

成员

成员名称描述
color_temp当前配置的CCM对应的色温。 取值范围:[2000, 10000]
ccm不同色温下的颜色校正矩阵,8bit小数精度。Bit[15]是符号位,0 表示正数,1 表示负数,例如0x8010表示-16。Bit[12],Bit[13],Bit[14]是无效的,即正数从0x0000到0x0FFF,负数从0x8000到0x8FFF,是CCM的合理参数。 取值范围:[0x0, 0xFFFF]。 HI_ISP_CCM_MATRIX_SIZE用于定义CCM矩阵参数个数,表示9。

父主题: ISP系统控制及3A算法注册

hi_isp_awb_ccm

说明

定义CCM颜色校正矩阵属性。

定义

typedef struct {
hi_u16 ccm_tab_num;
hi_isp_awb_ccm_tab ccm_tab[HI_ISP_CCM_MATRIX_NUM];
} hi_isp_awb_ccm;

成员

成员名称描述
ccm_tab_num当前配置的 CCM 的组数。 取值范围:[3, 7]。
ccm_tab不同色温下的颜色校正矩阵和对应的色温值。 HI_ISP_CCM_MATRIX_NUM用于定义昇腾AWB可配置的CCM矩阵组数,表示7。

注意事项

如果选择三组CCM,推荐高色温CCM在D50光源标定,中色温CCM在TL84光源标定,低色温CCM在A光源标定。

父主题: ISP系统控制及3A算法注册

hi_isp_awb_sensor_default

说明

定义AWB算法库的初始化参数结构体。

定义

typedef struct {
hi_u16 wb_ref_temp;
hi_u16 gain_offset[HI_ISP_BAYER_CHN_NUM];
hi_s32 wb_para[HI_ISP_AWB_CURVE_PARA_NUM];
hi_u16 golden_rgain;
hi_u16 golden_bgain;
hi_u16 sample_rgain;
hi_u16 sample_bgain;
hi_isp_awb_agc_table agc_tbl;
hi_isp_awb_ccm ccm;
hi_u16 init_rgain;
hi_u16 init_ggain;
hi_u16 init_bgain;
hi_u8 awb_run_interval;
hi_u16 init_ccm[HI_ISP_CCM_MATRIX_SIZE];
} hi_isp_awb_sensor_default;

成员

成员名称

描述

wb_ref_temp

静态白平衡校正色温,取值范围为[0,0xFFFF]。

gain_offset

静态白平衡的R、Gr、Gb、B颜色通道的增益值数组,数组内元素的取值范围为[0, 0xFFFF]。

HI_ISP_BAYER_CHN_NUM用于定义Bayer数据的通道数目,表示4。

wb_para

校正工具给出的白平衡参数数组,取值范围为[0, 0xFFFFFFFF]。

HI_ISP_AWB_CURVE_PARA_NUM用于定义昇腾AWB标定的Planck 曲线参数个数,表示6。

golden_rgain

Golden样机在线标定得到的G/R值。

golden_bgain

Golden样机在线标定得到的G/B值。

sample_rgain

当前样机在线标定得到的G/R值。

sample_bgain

当前样机在线标定得到的G/B值。

agc_tbl

该结构体的数据是否有效,取值范围为[0,1]。

根据增益动态调节饱和度的插值数组,取值范围为[0, 255]。

ccm

当前配置的CCM的组数。

取值范围:[3, 7]

不同色温下的颜色校正矩阵和对应的色温值。

init_rgain

ISP启动时R通道白平衡增益初始值。

init_ggain

ISP启动时G通道白平衡增益初始值。

init_bgain

ISP启动时B通道白平衡增益初始值。

awb_run_interval

ISP启动时AWB工作频率。

取值范围:[0x1, 0xFF]

init_ccm

ISP启动时CCM初始值数组。

HI_ISP_CCM_MATRIX_SIZE用于定义CCM矩阵参数个数,表示9。

注意事项

参考色温即静态白平衡校正的环境色温,需要提供色度计测量的实际值。

父主题: ISP系统控制及3A算法注册

hi_isp_awb_sensor_exp_func

说明

定义sensor回调函数结构体。

定义

typedef struct {
hi_s32 (*pfn_cmos_get_awb_default)(hi_vi_pipe vi_pipe, hi_isp_awb_sensor_default *awb_sns_dft);
} hi_isp_awb_sensor_exp_func;

成员

成员名称描述
vi_pipevi_pipe号。
pfn_cmos_get_awb_default获取 AWB 算法库的初始值的回调函数指针。

父主题: ISP系统控制及3A算法注册

在线提单