hi_isp_dp_static_calibrate
说明
定义静态坏点标定的属性。
定义
typedef struct { hi_bool enable_detect; hi_isp_static_dp_type static_dp_type; hi_u8 start_thresh; hi_u16 count_max; hi_u16 count_min; hi_u16 time_limit; hi_u32 table[HI_ISP_STATIC_DP_COUNT_MAX]; hi_u8 finish_thresh; hi_u16 count; hi_isp_status status; } hi_isp_dp_static_calibrate;
成员
成员名称 |
描述 |
---|---|
enable_detect |
是否使能静态坏点标定。取值如下。
|
static_dp_type |
静态坏点标定类型。取值如下。
|
start_thresh |
静态坏点标定开始时的检测门限值,该值的设置与sensor相关。 取值范围:[1, 0xFF]。 |
count_max |
允许静态坏点的最大个数。 取值范围与vi pipe设置的宽度有关。 宽度[120, 3840]:取值范围 (0,HI_ISP_STATIC_DP_COUNT_NORMAL]。 宽度[3841, 7680]:取值范围 (0, 2 * HI_ISP_STATIC_DP_COUNT_NORMAL]。 宽度[7681, 11520]:取值范围 (0, 3 * HI_ISP_STATIC_DP_COUNT_NORMAL]。 宽度[11521, 15360]:取值范围 (0, 4 * HI_ISP_STATIC_DP_COUNT_NORMAL]。 宽度[15361, 16384]:取值范围 (0, 5 * HI_ISP_STATIC_DP_COUNT_NORMAL]。 #define HI_ISP_STATIC_DP_COUNT_NORMAL 2048 |
count_min |
允许静态坏点的最小个数。 取值范围:[0, count_max)。 |
time_limit |
允许标定超时门限值。 取值范围:[0, 0x640]。 |
table[HI_ISP_STATIC_DP_COUNT_MAX] |
只读,亮暗坏点坐标值查找表,低29bit有效,[12:0]bit为坏点的水平坐标,[28:16]bit为坏点的垂直坐标。 每个坐标取值范围:[0, 0x1FFF1FFF]。 #define HI_ISP_STATIC_DP_COUNT_NORMAL 2048 #define HI_ISP_STRIPING_MAX_NUM 5 #define HI_ISP_STATIC_DP_COUNT_MAX (HI_ISP_STATIC_DP_COUNT_NORMAL * HI_ISP_STRIPING_MAX_NUM) |
finish_thresh |
只读,静态坏点标定结束时的检测门限值。 取值范围:[0, 0xFF]。 |
count |
只读,标定出的静态坏点的个数。 取值范围:[0, HI_ISP_STATIC_DP_COUNT_MAX]。 |
status |
只读,静态坏点标定结果状态信息。 取值范围:
|
注意事项
- 坏点检测算法检测成功的标准:检测出的坏点数量是否在[count_min, count_max)。所以不同类型的sensor在做坏点检测时需微调这两个值。
- 系统支持的坏点个数上限是HI_ISP_STATIC_DP_COUNT_MAX。当sensor坏点个数大于HI_ISP_STATIC_DP_COUNT_MAX时, 系统反馈坏点个数等于HI_ISP_STATIC_DP_COUNT_MAX。因此,坏点个数等于HI_ISP_STATIC_DP_COUNT_MAX不能反映当前实际坏点检况。
- finish_thresh只作为输出。针对同类型的sensor,参考finish_thresh值,设置合理的start_thresh,能加快静态坏点校正过程。
- 每次调用标定接口hi_mpi_isp_set_dp_calibrate时,算法内部会自动将status恢复为HI_ISP_STATE_INIT状态。
- 标定亮坏点时,推荐降帧,亮坏点超时时间近似等于time_limit/8 秒。标定暗坏点时,不做降帧动作,暗坏点超时时间近似等于time_limit/48 秒。