下载
中文
注册

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_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_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增益配置位置。