ISVP-SDK
3.12.0
Ingenic Smart Video Platform SDK
|
图像信号处理单元。主要包含图像效果设置、模式切换以及Sensor的注册添加删除等操作 更多...
结构体 | |
struct | IMPI2CInfo |
摄像头控制总线类型是I2C时,需要配置的参数结构体 更多... | |
struct | IMPSPIInfo |
摄像头控制总线类型是SPI时,需要配置的参数结构体 更多... | |
struct | IMPSensorInfo |
摄像头注册信息结构体 更多... | |
struct | IMPISPDrcAttr |
ISP 动态范围压缩模块属性参数。 更多... | |
struct | IMPISPSinterDenoiseAttr |
ISP 空间降噪模块属性参数。 更多... | |
struct | imp_isp_temper_denoise_attr |
ISP 时域降噪模块属性参数。 更多... | |
struct | IMPISPGamma |
gamma 更多... | |
union | isp_core_expr_attr |
曝光参数 更多... | |
union | isp_core_ae_roi_select |
曝光统计区域选择 更多... | |
struct | isp_core_wb_attr |
白平衡参数 更多... | |
struct | isp_core_rgb_coefft_wb_attr |
类型定义 | |
typedef struct imp_isp_temper_denoise_attr | IMPISPTemperDenoiseAttr |
ISP 时域降噪模块属性参数。 | |
typedef union isp_core_expr_attr | IMPISPExpr |
曝光参数 | |
typedef union isp_core_ae_roi_select | IMPISPAERoi |
曝光统计区域选择 | |
typedef struct isp_core_wb_attr | IMPISPWB |
白平衡参数 | |
typedef struct isp_core_rgb_coefft_wb_attr | IMPISPCOEFFTWB |
变量 | |
char | type [20] |
I2C设备名字,必须与摄像头驱动中struct i2c_device_id中name变量一致 | |
int | addr |
I2C地址 | |
int | i2c_adapter_id |
I2C控制器 | |
char | modalias [32] |
SPI设备名字,必须与摄像头驱动中struct spi_device_id中name变量一致 | |
int | bus_num |
SPI总线地址 | |
char | name [32] |
摄像头名字 | |
IMPSensorControlBusType | cbus_type |
摄像头控制总线类型 | |
IMPI2CInfo i2c | |
I2C总线信息 | |
IMPSPIInfo spi | |
SPI总线信息 | |
union { | |
IMPI2CInfo i2c | |
I2C总线信息 | |
IMPSPIInfo spi | |
SPI总线信息 | |
}; | |
unsigned short | rst_gpio |
摄像头reset接口链接的GPIO,注意:现在没有启用该参数 | |
unsigned short | pwdn_gpio |
摄像头power down接口链接的GPIO,注意:现在没有启用该参数 | |
unsigned short | power_gpio |
摄像头power 接口链接的GPIO,注意:现在没有启用该参数 | |
IMPISPDrcMode | mode |
ISP 动态范围压缩模块操作模式选择 | |
unsigned char | drc_strength |
手动模式下设置的目标值,取值范围为[0, 0xff] | |
unsigned char | dval_max |
范围模式最大值,取值范围为[0, 0xff] | |
unsigned char | dval_min |
范围模式最小值,取值范围为[0, 0xff] | |
unsigned char | slop_max |
强度控制参数,取值范围为[0, oxff] | |
unsigned char | slop_min |
强度控制参数,取值范围为[0, oxff] | |
unsigned short | black_level |
DRC增强的最小像素值,取值范围为[0, oxfff]. | |
unsigned short | white_level |
DRC增强的最大像素值,取值范围为[0, oxfff]. | |
IMPISPTuningOpsMode | enable |
使能空间降噪功能 | |
IMPISPTuningOpsType | type |
空间降噪功能操作类型,自动或手动 | |
unsigned char | sinter_strength |
空间降噪强度,手动模式有效,取值范围为[0, 0xff] | |
unsigned char | sval_max |
空间降噪强度,手动模式有效,取值范围为[0, 0xff] | |
unsigned char | sval_min |
空间降噪强度,手动模式有效,取值范围为[0, 0xff] | |
IMPISPTemperMode | type |
时域降噪功能操作类型,不使能,自动或手动 | |
unsigned char | temper_strength |
时域降噪强度,手动模式有效,取值范围为[0, 0xff] | |
unsigned char | tval_max |
空间降噪范围设置模式最大值,取值范围为[0, 0xff] | |
unsigned char | tval_min |
空间降噪范围设置模式最小值,取值范围为[0, 0xff] | |
uint16_t | gamma [129] |
gamma参数数组,有129个点 | |
enum isp_core_expr_mode mode | |
设置的曝光模式 | |
enum isp_core_expr_unit unit | |
设置的曝光单位 | |
uint16_t time | |
struct { | |
enum isp_core_expr_mode mode | |
设置的曝光模式 | |
enum isp_core_expr_unit unit | |
设置的曝光单位 | |
uint16_t time | |
} | s_attr |
enum isp_core_expr_mode mode | |
获取的曝光模式 | |
uint16_t integration_time | |
获取的曝光时间,单位为行 | |
uint16_t integration_time_min | |
获取的曝光最小时间,单位为行 | |
uint16_t integration_time_max | |
获取的曝光最大时间,单位为行 | |
uint16_t one_line_expr_in_us | |
获取的一行曝光时间对应的微妙数 | |
struct { | |
enum isp_core_expr_mode mode | |
获取的曝光模式 | |
uint16_t integration_time | |
获取的曝光时间,单位为行 | |
uint16_t integration_time_min | |
获取的曝光最小时间,单位为行 | |
uint16_t integration_time_max | |
获取的曝光最大时间,单位为行 | |
uint16_t one_line_expr_in_us | |
获取的一行曝光时间对应的微妙数 | |
} | g_attr |
unsigned endy:8 | |
结束点y坐标 (0 ~ 255) | |
unsigned endx:8 | |
结束点x坐标 (0 ~ 255) | |
unsigned starty:8 | |
起始点y坐标 (0 ~ 255) | |
unsigned startx:8 | |
起始点x坐标 (0 ~ 255) | |
struct { | |
unsigned endy:8 | |
结束点y坐标 (0 ~ 255) | |
unsigned endx:8 | |
结束点x坐标 (0 ~ 255) | |
unsigned starty:8 | |
起始点y坐标 (0 ~ 255) | |
unsigned startx:8 | |
起始点x坐标 (0 ~ 255) | |
}; | |
uint32_t | value |
enum isp_core_wb_mode | mode |
白平衡模式,分为自动与手动模式 | |
uint16_t | rgain |
红色增益,手动模式时有效 | |
uint16_t | bgain |
蓝色增益,手动模式时有效 | |
unsigned short | rgb_coefft_wb_r |
unsigned short | rgb_coefft_wb_g |
unsigned short | rgb_coefft_wb_b |
图像信号处理单元。主要包含图像效果设置、模式切换以及Sensor的注册添加删除等操作
ISP模块与数据流无关,不需要进行Bind,仅作用于效果参数设置及Sensor控制。
ISP模块的使能步骤如下:
ISP模块的卸载步骤如下:
更多使用方法请参考Samples
enum IMPISPAeStrategy |
enum IMPISPColorfxMode |
enum IMPISPDrcMode |
enum IMPISPRunningMode |
enum IMPISPSceneMode |
ISP 综合扩展功能,场景模式选择。
enum IMPISPTemperMode |
enum IMPISPTuningOpsMode |
enum IMPISPTuningOpsType |
enum isp_core_expr_mode |
enum isp_core_expr_unit |
enum isp_core_wb_mode |
int IMP_ISP_AddSensor | ( | IMPSensorInfo * | pinfo | ) |
添加一个sensor,用于向ISP模块提供数据源
[in] | pinfo | 需要添加sensor的信息指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Close | ( | void | ) |
关闭ISP模块
无 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_DelSensor | ( | IMPSensorInfo * | pinfo | ) |
删除一个sensor
[in] | pinfo | 需要删除sensor的信息指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_DisableSensor | ( | void | ) |
不使能一个sensor
无 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_DisableTuning | ( | void | ) |
不使能ISP效果调试功能
无 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_EnableSensor | ( | void | ) |
使能一个sensor
无 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_EnableTuning | ( | void | ) |
使能ISP效果调试功能
无 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_GetSensorRegister | ( | uint32_t | reg, |
uint32_t * | value | ||
) |
获取sensor一个寄存器的值
[in] | reg | 寄存器地址 |
[in] | value | 寄存器值的指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Open | ( | void | ) |
打开ISP模块
无 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_SetSensorRegister | ( | uint32_t | reg, |
uint32_t | value | ||
) |
设置sensor一个寄存器的值
[in] | reg | 寄存器地址 |
[in] | value | 寄存器值 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_AE_GetROI | ( | IMPISPAERoi * | isp_ae_roi | ) |
获取AE统计区域。
[out] | isp_ae_roi | AE矩形统计区域参数。 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_AE_SetROI | ( | IMPISPAERoi * | isp_ae_roi | ) |
设置AE统计区域。
[in] | isp_ae_roi | AE矩形统计区域参数。 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_Awb_GetCwfShift | ( | IMPISPWB * | isp_wb_attr | ) |
获取ISP中AWB的CWF光源的位置
[out] | isp_wb_attr | CWF光源位置坐标 |
0 | 成功 |
非0 | 失败,返回错误码 |
IMP_ISP_Tuning_Awb_GetRgbCoefft | ( | IMPISPCOEFFTWB * | isp_core_rgb_coefft_wb_attr | ) |
获取sensor AWB RGB通道偏移参数。
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_Awb_SetCwfShift | ( | IMPISPWB * | isp_wb_attr | ) |
设置ISP中AWB的CWF光源的位置
[in] | isp_wb_attr | CWF光源位置坐标 |
0 | 成功 |
非0 | 失败,返回错误码 示例: |
int IMP_ISP_Tuning_GetAeComp | ( | int * | comp | ) |
获取AE补偿。
[out] | comp | AE补偿参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetAeStrategy | ( | IMPISPAeStrategy * | pstrategy | ) |
获取ISP自动曝光策略配置,正常模式或曝光优先模式。
[in] | pstrategy | 自动曝光策略参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetAntiFlickerAttr | ( | IMPISPAntiflickerAttr * | pattr | ) |
获得ISP抗闪频属性
[in] | pattr | 获取参数值指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetBrightness | ( | unsigned char * | pbright | ) |
获取ISP 综合效果图片亮度
[in] | bright | 图片亮度参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetColorfxMode | ( | IMPISPColorfxMode * | pmode | ) |
获取ISP 综合效果色彩模式
[in] | pmode | 色彩模式参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetContrast | ( | unsigned char * | pcontrast | ) |
获取ISP 综合效果图片对比度
[in] | contrast | 图片对比度参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetExpr | ( | IMPISPExpr * | expr | ) |
获取AE参数。
[out] | expr | AE参数。 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetGamma | ( | IMPISPGamma * | gamma | ) |
获取GAMMA参数.
[out] | gamma | gamma参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetISPHflip | ( | IMPISPTuningOpsMode * | pmode | ) |
获取ISP图像镜面效果功能的操作状态
[in] | pmode | 操作参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetISPHVflip | ( | IMPISPTuningOpsMode * | phmode, |
IMPISPTuningOpsMode * | pvmode | ||
) |
获取ISP图像H/V反转效果功能的操作状态
[in] | phmode | 操作参数指针 |
[in] | pvmode | 操作参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetISPRunningMode | ( | IMPISPRunningMode * | pmode | ) |
获取ISP工作模式,正常模式或夜视模式。
[in] | pmode操作参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetISPVflip | ( | IMPISPTuningOpsMode * | pmode | ) |
获取ISP图像上下反转效果功能的操作状态
[in] | pmode | 操作参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetRawDRC | ( | IMPISPDrcAttr * | pinfo | ) |
获取ISP RAW图动态范围压缩模块参数
[in] | pinfo | 动态范围参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetSaturation | ( | unsigned char * | psat | ) |
获取ISP 综合效果图片饱和度
[in] | sat | 图片饱和度参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetSceneMode | ( | IMPISPSceneMode * | pmode | ) |
获取ISP 综合效果场景模式
[in] | pmode | 效果场景模式参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetSensorFPS | ( | uint32_t * | fps_num, |
uint32_t * | fps_den | ||
) |
获取摄像头输出帧率
[in] | fps_num | 获取帧率分子参数的指针 |
[in] | fps_den | 获取帧率分母参数的指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetSharpness | ( | unsigned char * | psharpness | ) |
获取ISP 综合效果图片锐度
[in] | sharpness | 图片锐度参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetSinterDnsAttr | ( | IMPISPSinterDenoiseAttr * | pinfo | ) |
获取ISP 空间降噪模块参数
[in] | pinfo | 空间降噪参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetTemperDnsAttr | ( | IMPISPTemperDenoiseAttr * | pinfo | ) |
获取ISP 时域降噪模块参数
[in] | pinfo | 时域降噪模块参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetTotalGain | ( | uint32_t * | gain | ) |
获取ISP输出图像的整体增益值
[in] | gain | 获取增益值参数的指针,其数据存放格式为[24.8],高24bit为整数,低8bit为小数。 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetWB | ( | IMPISPWB * | wb | ) |
获取白平衡功能设置。
[out] | wb | 获取的白平衡参数。 |
0 | 成功 |
非0 | 失败,返回错误码 |
IMP_ISP_Tuning_GetWB_Statis | ( | IMPISPWB * | wb | ) |
获取白平衡统计值。
[out] | wb | 获取的白平衡统计值。 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_GetWDRAttr | ( | IMPISPTuningOpsMode * | pmode | ) |
获取ISP 宽动态模块当前状态
[in] | pmode | 宽动态模块参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SaveAllParam | ( | char * | path | ) |
保存ISP模块所有调试参数
[in] | path | 路径参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetAeComp | ( | int | comp | ) |
设置AE补偿。AE补偿参数可以调整图像AE target,建议设置范围为[90-150].
[in] | comp | AE补偿参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetAeStrategy | ( | IMPISPAeStrategy | strategy | ) |
设置ISP工作模式,自动曝光策略配置,正常模式或曝光优先模式;默认为正常模式。
[in] | strategy | 自动曝光策略参数 |
0 | 成功 |
非0 | 失败,返回错误码 示例: |
int IMP_ISP_Tuning_SetAntiFlickerAttr | ( | IMPISPAntiflickerAttr | attr | ) |
设置ISP抗闪频属性
[in] | attr | 设置参数值 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetBrightness | ( | unsigned char | bright | ) |
设置ISP 综合效果图片亮度
[in] | bright | 图片亮度参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetColorfxMode | ( | IMPISPColorfxMode | mode | ) |
设置ISP 综合效果色彩模式
[in] | mode | 色彩模式参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetContrast | ( | unsigned char | contrast | ) |
设置ISP 综合效果图片对比度
[in] | contrast | 图片对比度参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetExpr | ( | IMPISPExpr * | expr | ) |
设置AE参数。
[in] | expr | AE参数。 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetFWFreeze | ( | IMPISPTuningOpsMode | mode | ) |
冻结ISP固件操作,使能表示冻结ISP固件,这是ISP的自动算法将停止;不使能表示ISP固件能正常工作。
[in] | mode | 是否冻结ISP固件参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetGamma | ( | IMPISPGamma * | gamma | ) |
设置GAMMA参数.
[in] | gamma | gamma参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetISPBypass | ( | IMPISPTuningOpsMode | enable | ) |
ISP模块是否bypass.
[in] | enable | 是否bypass输出模式 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetISPHflip | ( | IMPISPTuningOpsMode | mode | ) |
设置ISP图像镜面效果功能是否使能
[in] | mode | 是否使能镜面效果 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetISPHVflip | ( | IMPISPTuningOpsMode | hmode, |
IMPISPTuningOpsMode | vmode | ||
) |
设置ISP图像H/V反转效果功能是否使能
[in] | hmode | 是否使能图像H反转 |
[in] | vmode | 是否使能图像V反转 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetISPRunningMode | ( | IMPISPRunningMode | mode | ) |
设置ISP工作模式,正常模式或夜视模式;默认为正常模式。
[in] | mode运行模式参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
示例:
int IMP_ISP_Tuning_SetISPVflip | ( | IMPISPTuningOpsMode | mode | ) |
设置ISP图像上下反转效果功能是否使能
[in] | mode | 是否使能图像上下反转 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetRawDRC | ( | IMPISPDrcAttr * | pinfo | ) |
设置ISP RAW图动态范围压缩模块参数
[in] | pinfo | 动态范围参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetSaturation | ( | unsigned char | sat | ) |
设置ISP 综合效果图片饱和度
[in] | sat | 图片饱和度参数值 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetSceneMode | ( | IMPISPSceneMode | mode | ) |
设置ISP 综合效果场景模式
[in] | mode | 效果场景模式参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetSensorFPS | ( | uint32_t | fps_num, |
uint32_t | fps_den | ||
) |
设置摄像头输出帧率
[in] | fps_num | 设定帧率的分子参数 |
[in] | fps_den | 设定帧率的分母参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetSharpness | ( | unsigned char | sharpness | ) |
设置ISP 综合效果图片锐度
[in] | sharpness | 图片锐度参数值 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetSinterDnsAttr | ( | IMPISPSinterDenoiseAttr * | pinfo | ) |
设置ISP 空间降噪模块参数
[in] | pinfo | 时域降噪参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetTemperDnsAttr | ( | IMPISPTemperDenoiseAttr * | pinfo | ) |
设置ISP 时域降噪模块参数
[in] | pinfo | 时域降噪参数指针 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetWB | ( | IMPISPWB * | wb | ) |
设置白平衡功能设置。可以设置自动与手动模式,手动模式主要通过设置rgain、bgain实现。
[in] | wb | 设置的白平衡参数。 |
0 | 成功 |
非0 | 失败,返回错误码 |
int IMP_ISP_Tuning_SetWDRAttr | ( | IMPISPTuningOpsMode | mode | ) |
设置ISP 宽动态模块是否使能
[in] | mode | 宽动态模块参数 |
0 | 成功 |
非0 | 失败,返回错误码 |
enum isp_core_expr_mode mode |
设置的曝光模式
获取的曝光模式