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_max | WDR模式下,计算短帧最大曝光时间的回调函数指针,与sensor强相关。 |
| pfn_cmos_ae_fswdr_attr_set | 2to1LineWDR模式下,设置长帧模式。 |
| 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_exp | Sensor注册的回调函数结构体。 |
父主题: 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_pipe | vi_pipe号。 |
| pfn_cmos_get_awb_default | 获取 AWB 算法库的初始值的回调函数指针。 |
父主题: ISP系统控制及3A算法注册
在线提单