开发ISP基本功能
本章节涉及Sensor部分,请仔细阅读Sensor的Datasheet,或联系Sensor原厂工程师。
结构体说明请参考《应用开发指南 (C&C++)》及本手册中的ISP接口参考。
驱动一般包括xxx_cmos.c文件,xxx_cmos.h、 xxx_sensor_ctl.c文件,分别用于ISP功能和初始化序列,xxx_cmos_ex.h文件用于存放定义的驱动文件中的全局变量,主要为ISP算法默认参数。
驱动文件共有3个callback函数,是Sensor驱动向Firmware注册函数的接口。
- hi_mpi_isp_sensor_reg_callback :ISP内置回调算法。
- hi_mpi_ae_sensor_reg_callback:AE回调算法。
- hi_mpi_awb_sensor_reg_callback :AWB回调算法。
开发流程
ISP基本功能,请按如下顺序实现:
- cmos_set_image_mode, cmos_set_wdr_mode
- cmos_set_image_mode
- 该函数用于区分不同分辨率,用hi_isp_sns_state中的img_mode传递分辨率模式。
- 请注意返回值,返回“0”表示重新配置Sensor,会调用sensor_init(),返回“-2”表示不用重新配置Sensor,无动作。
- 请注意hi_isp_sns_state中fl_std和fl的区别。fl_std是当前分辨率及WDR模式下,标准帧率(一般为30fps)时的总行数。fl是实际总行数,该参数会在其它函数中,由于降帧的原因,基于标准行数fl_std及帧率修改。
- cmos_set_image_mode
- sensor_global_init
- sensor_init, sensor_exit
- cmos_get_isp_default,cmos_get_isp_black_level
父主题: Sensor调试