hi_isp_sensor_exp_func
说明
定义sensor回调函数结构体。
定义
typedef struct { hi_void (*pfn_cmos_sensor_init)(hi_vi_pipe vi_pipe); hi_void (*pfn_cmos_sensor_exit)(hi_vi_pipe vi_pipe); hi_void (*pfn_cmos_sensor_global_init)(hi_vi_pipe vi_pipe); hi_s32 (*pfn_cmos_set_image_mode)(hi_vi_pipe vi_pipe, hi_isp_cmos_sensor_image_mode *sensor_image_mode); hi_s32 (*pfn_cmos_set_wdr_mode)(hi_vi_pipe vi_pipe, hi_u8 mode); hi_s32 (*pfn_cmos_get_isp_default)(hi_vi_pipe vi_pipe, hi_isp_cmos_default *def); hi_s32 (*pfn_cmos_get_isp_black_level)(hi_vi_pipe vi_pipe, hi_isp_cmos_black_level *black_level); hi_s32 (*pfn_cmos_get_sns_reg_info)(hi_vi_pipe vi_pipe, hi_isp_sns_regs_info *sns_regs_info); hi_void (*pfn_cmos_set_pixel_detect)(hi_vi_pipe vi_pipe, hi_bool enable); hi_s32 (*pfn_cmos_get_awb_gains)(hi_vi_pipe vi_pipe, hi_u32 *sensor_awb_gain); hi_void (*pfn_cmos_notify_event)(hi_vi_pipe vi_pipe, hi_u32 event_id, hi_void *value); } hi_isp_sensor_exp_func;
成员
成员名称 |
描述 |
---|---|
pfn_cmos_sensor_init |
初始化sensor的回调函数指针。 |
pfn_cmos_sensor_exit |
sensor的回调退出函数指针。 |
pfn_cmos_sensor_global_init |
初始化全局变量的回调函数指针。 |
pfn_cmos_set_image_mode |
设置分辨率和帧率切换的回调函数指针。 返回值0表示sensor模式发生改变,ISP会调用pfn_cmos_sensor_init 重新配置sensor; 返回值-2表示sensor模式没有变化,ISP不会重新配置sensor。 |
pfn_cmos_set_wdr_mode |
设置wdr模式的回调函数指针。 |
pfn_cmos_get_isp_default |
获取ISP基础算法的初始值的回调函数指针。 |
pfn_cmos_get_isp_black_level |
获取sensor的黑电平值的回调函数指针,支持根据sensor增益动态调整黑电平值。若此处动态调整黑电平值,则外部只能通过接口hi_mpi_isp_set_black_level_attr的手动模式设置黑电平。 |
pfn_cmos_get_sns_reg_info |
获取sensor寄存器信息的回调函数指针,用于实现内核态配置AE信息。 |
pfn_cmos_set_pixel_detect |
设置坏点校正开关的回调函数指针。 |
pfn_cmos_get_awb_gains |
配置awb增益回调函数。 |
pfn_cmos_notify_event |
通知模组驱动特殊事件,如休眠后唤醒事件,便于模组做部分逻辑处理。 event_id:必须为0,只支持1个事件,即休眠唤醒事件。 value:必须为null,预留字段。 |
注意事项
- pfn_cmos_sensor_init, pfn_cmos_get_isp_default, pfn_cmos_get_isp_black_level, pfn_cmos_set_pixel_detect 和 pfn_cmos_get_sns_reg_info 必须赋值,其他回调函数指针如果不需要赋值,应置为 NULL。例如有的 sensor 不支持切换分辨率, 那么 pfn_cmos_set_image_mode 需要置为 NULL。
- 不支持切换AWB增益配置位置。
父主题: ISP系统控制及3A算法注册数据类型