hi_isp_sns_type
hi_isp_cmos_wdr_switch_attr
说明
定义WDR切换属性。
定义
typedef struct {
hi_u32 exp_ratio[HI_ISP_EXP_RATIO_NUM];
} hi_isp_cmos_wdr_switch_attr;
成员
| 成员名称 | 描述 |
|---|---|
| exp_ratio | 曝光比期望值 |
注意事项
在 cmos_get_isp_default 函数里根据 WDR 模式给 exp_ratio 赋默认值,所赋值要与cmos_get_ae_default 中 AE 初始化的曝光比保持一致性:
- 若 ae_sns_dft->man_ratio_enable 为 TRUE,exp_ratio 与 ae_sns_dft->arr_ratio的值相同;
- 若 ae_sns_dft->man_ratio_enable 为 FALSE,exp_ratio 为 0x40。
父主题: ISP系统控制及3A算法注册
hi_isp_cmos_default
说明
定义ISP基础算法库的初始化参数结构体。
定义
typedefstruct {
hi_isp_cmos_alg_key key;
const hi_isp_cmos_drc *drc;
const hi_isp_cmos_demosaic *demosaic;
const hi_isp_cmos_pregamma *pregamma;
const hi_isp_cmos_gamma *gamma;
const hi_isp_cmos_sharpen *sharpen;
const hi_isp_cmos_edgemark *edge_mark;
const hi_isp_cmos_hlc *hlc;
const hi_isp_cmos_ldci *ldci;
const hi_isp_cmos_dpc *dpc;
const hi_isp_cmos_lsc *lsc;
const hi_isp_cmos_ge *ge;
const hi_isp_cmos_afc *anti_false_color;
const hi_isp_cmos_bayernr *bayer_nr;
const hi_isp_cmos_ca *ca;
const hi_isp_expander_attr *expander;
const hi_isp_cmos_clut *clut;
const hi_isp_cmos_wdr *wdr;
const hi_isp_cmos_dehaze *dehaze;
const hi_isp_cmos_lcac *lcac;
const hi_isp_cmos_acs *acs;
hi_isp_cmos_noise_calibration noise_calibration;
hi_isp_cmos_sensor_max_resolution sensor_max_resolution;
hi_isp_cmos_sensor_mode sensor_mode;
hi_isp_cmos_wdr_switch_attr wdr_switch_attr;
} hi_isp_cmos_default;
成员
| 成员名称 | 描述 |
|---|---|
| key | 标识各算法是否采用 cmos 中默认配置的 key。 |
| *drc | DRC结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *demosaic | Demosaic结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *pregamma | PreGamma结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *gamma | Gamma结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *sharpen | Sharpen结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *edge_mark | EdgeMark结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *hlc | HLC结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *ldci | LDCI结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *dpc | DPC结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *lsc | LSC结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *ge | GE模块结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *anti_false_color | AntiFalse结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *bayer_nr | BayerNR结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *ca | CA模块结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *expander | Expander结构体指针。仅Sensor built-in模式有效。 结构体说明请参见《ISP图像调优指南》。 |
| *clut | Clut结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *wdr | WDR模式结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *dehaze | Dehaze结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *lcac | Local cac结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| *acs | ACS结构体指针。 结构体说明请参见《ISP图像调优指南》。 |
| noise_calibration | Noise校正结构体。 |
| sensor_max_resolution | Sensor最大宽高结构体。 |
| sensor_mode | Sensor模式结构体。 |
| wdr_switch_attr | WDR切换属性。 |
注意事项
- ISP的各算法模块如果要采用cmos的默认配置,要在回调函数pfn_cmos_get_isp_default中将对应的标志位置1,并给该算法模块的cmos结构体指针赋值。如果cmos默认值配置的不合法,会导致算法初始化失败,同时run起来之后算法不能正常调节。
父主题: ISP系统控制及3A算法注册
hi_isp_cmos_black_level
说明
定义sensor的黑电平结构体。
定义
typedef struct {
hi_bool update;
hi_u16 black_level[HI_ISP_BAYER_CHN_NUM];
} hi_isp_cmos_black_level;
成员
| 成员名称 | 描述 |
|---|---|
| update | Sensor的黑电平是否会动态根据增益改变。 取值范围: - HI_TRUE:是 - HI_FALSE:否 如果sensor的黑电平不会动态根据增益改变,update配置为HI_FALSE 即可。 |
| black_level | Sensor的黑电平数组,取值范围:[0, 4095]。 HI_ISP_BAYER_CHN_NUM用于定义Bayer数据的通道数目,当前为4。 |
父主题: ISP系统控制及3A算法注册
hi_isp_sns_type
说明
定义Sensor与ISP的通信接口类型。
定义
typedef enum {
HI_ISP_SNS_I2C_TYPE = 0,
HI_ISP_SNS_SSP_TYPE,
HI_ISP_SNS_TYPE_BUTT,
} hi_isp_sns_type;
成员
| 成员名称 | 描述 |
|---|---|
| HI_ISP_SNS_I2C_TYPE | Sensor与ISP使用I2C接口通信。 |
| HI_ISP_SNS_SSP_TYPE | Sensor与ISP使用SSP接口通信。 |
| HI_ISP_SNS_TYPE_BUTT | 预留。 |
父主题: ISP系统控制及3A算法注册
hi_isp_sns_commbus
说明
定义与Sensor绑定的设备号信息。
定义
typedef union {
hi_s8 i2c_dev;
struct {
hi_s8 bit4_ssp_dev : 4;
hi_s8 bit4_ssp_cs : 4;
} ssp_dev;
} hi_isp_sns_commbus;
成员
| 成员名称 | 描述 |
|---|---|
| i2c_dev | Sensor绑定的I2C设备号。 |
| bit4_ssp_dev | Sensor绑定的SPI设备号。 |
| bit4_ssp_cs | Sensor绑定的SPI片选信号。 |
父主题: ISP系统控制及3A算法注册
hi_isp_i2c_data
说明
定义I2C数据的参数。
定义
typedef struct {
hi_bool update; /* RW; Range: [0x0, 0x1]; Format:1.0;
HI_TRUE: The sensor registers are written,
HI_FALSE: The sensor registers are not written */
hi_u8 delay_frm_num; /* RW; Number of delayed frames for the sensor register */
hi_u8 int_pos; /* RW;Position where the configuration of the sensor register takes effect */
hi_u8 dev_addr; /* RW;Sensor device address */
hi_u32 reg_addr; /* RW;Sensor register address */
hi_u32 addr_byte_num; /* RW;Bit width of the sensor register address */
hi_u32 data; /* RW;Sensor register data */
hi_u32 data_byte_num; /* RW;Bit width of sensor register data */
} hi_isp_i2c_data;
成员
| 成员名称 | 描述 |
|---|---|
| update | 数据是否会配置sensor寄存器。 HI_TRUE:数据会配置sensor寄存器; HI_FALSE:数据不会配置sensor寄存器。 |
| delay_frame_num | Sensor寄存器延迟配置的帧数。此变量的目的是保证曝光时间和增益同时生效。 |
| interrupt_pos | Sensor寄存器的配置生效的位置。 - 设置为0x0时表示寄存器在超短帧起始中断配置生效,设置为0x 1时表示寄存器在超短帧结束中断配置生效。 - 设置为0x10时表示寄存器在短帧起始中断配置生效,设置为0x11时表示寄存器在短帧结束中断配置生效。 - 设置为0x20时表示c寄存器在中帧起始中断配置生效,设置为0x21时表示寄存器在中帧结束中断配置生效。 - 设置为0x30时表示寄存器在长帧起始中断配置生效,设置为0x31时表示寄存器在长帧结束中断配置生效。 |
| dev_addr | Sensor设备地址。 |
| reg_addr | Sensor寄存器地址。 |
| addr_byte_num | Sensor寄存器地址位宽。 |
| data | Sensor寄存器数据。 |
| data_byte_num | Sensor寄存器数据位宽。 |
父主题: ISP系统控制及3A算法注册
hi_isp_ssp_data
说明
定义SSP数据的参数。
定义
typedef struct {
hi_bool update; /* RW; Range: [0x0, 0x1]; Format:1.0;
HI_TRUE: The sensor registers are written,
HI_FALSE: The sensor registers are not written */
hi_u8 delay_frm_num; /* RW; Number of delayed frames for the sensor register */
hi_u8 int_pos; /* RW;Position where the configuration of the sensor register takes effect */
hi_u32 dev_addr; /* RW;Sensor device address */
hi_u32 dev_addr_byte_num; /* RW;Bit width of the sensor device address */
hi_u32 reg_addr; /* RW;Sensor register address */
hi_u32 reg_addr_byte_num; /* RW;Bit width of the sensor register address */
hi_u32 data; /* RW;Sensor register data */
hi_u32 data_byte_num; /* RW;Bit width of sensor register data */
} hi_isp_ssp_data;
成员
| 成员名称 | 描述 |
|---|---|
| update | 数据是否会配置sensor寄存器。 HI_TRUE:数据会配置sensor寄存器; HI_FALSE:数据不会配置sensor寄存器。 |
| delay_frame_num | sensor寄存器延迟配置的帧数。此变量的目的是保证曝光时间和增益同时生效。 |
| interrupt_pos | Sensor寄存器的配置生效的位置。 - 设置为0x0时表示寄存器在帧起始中断配置生效,设置为1时表示寄存器在AF中断配置生效。 - 设置为0x10时表示寄存器在短帧起始中断配置生效,设置为0x11时表示寄存器在短帧结束中断配置生效。 - 设置为0x20时表示寄存器在中帧起始中断配置生效,设置为0x21时表示寄存器在中帧结束中断配置生效。 - 设置为0x30时表示寄存器在长帧起始中断配置生效,设置为0x31时表示寄存器在长帧结束中断配置生效。 |
| dev_addr | Sensor设备地址。 |
| dev_addr_byte_num | Sensor设备地址位宽。 |
| reg_addr | Sensor寄存器地址。 |
| reg_addr_byte_num | Sensor寄存器地址位宽。 |
| data | Sensor寄存器数据。 |
| data_byte_num | Sensor寄存器数据位宽。 |
父主题: ISP系统控制及3A算法注册
在线提单