84 lines
2.6 KiB
C
Executable File
84 lines
2.6 KiB
C
Executable File
|
|
#ifndef __LIGHTLIB_H__
|
|
#define __LIGHTLIB_H__
|
|
|
|
#include "hd_type.h"
|
|
#include "vendor_isp.h"
|
|
|
|
typedef struct _Coordinate {
|
|
UINT32 x; ///< x point
|
|
UINT32 y; ///< y point
|
|
} Coordinate;
|
|
|
|
// defect pixel (DP) algorithm parameter
|
|
typedef enum {
|
|
DP_PARAM_CHGFMT_SKIP, ///< not change format
|
|
DP_PARAM_CHGFMT_AUTO, ///< only change format when dp count not overflow
|
|
DP_PARAM_CHGFMT_FORCE, ///< force to change format
|
|
|
|
} DP_PARAM_CHGFMT;
|
|
|
|
typedef struct {
|
|
UINT32 top;
|
|
UINT32 bottom;
|
|
UINT32 left;
|
|
UINT32 right;
|
|
} DP_SKIP;
|
|
|
|
|
|
typedef struct {
|
|
UINT32 threshold; ///< DP detect threshold
|
|
UINT32 block_x; ///< DP search block X,(must be even,because of bayer fmt)
|
|
UINT32 block_y; ///< DP search block Y,(must be even,because of bayer fmt)
|
|
DP_SKIP skip_search;
|
|
} DP_SETTING;
|
|
|
|
typedef struct {
|
|
ISPT_RAW_INFO *raw_info; ///< raw inforamtion
|
|
DP_SETTING setting;
|
|
UINT32 max_dp_cnt; ///< Unit: pixel
|
|
UINT32 ori_dp_cnt;
|
|
UINT32 dp_pool_addr; ///< defect pixel coordinate pool in DRAM
|
|
DP_PARAM_CHGFMT b_chg_dp_format; ///< sort dp data and change format for SIE
|
|
Coordinate sie_act_str;
|
|
Coordinate sie_crp_str;
|
|
} CAL_ALG_DP_PARAM;
|
|
|
|
|
|
typedef struct {
|
|
ISPT_RAW_INFO *raw_info; ///< raw inforamtion
|
|
Coordinate raw_str_offset;
|
|
DP_SETTING dp_set;
|
|
UINT32 max_dp_cnt; // max_dp_cnt = height*width*max_cnt_ratio, range = 0~10000 (1/10000)
|
|
UINT32 ori_dp_cnt;
|
|
UINT32 dp_pool_addr; ///< defect pixel coordinate pool in DRAM
|
|
} CAL_ALG_DP_SEARCH_INFO;
|
|
|
|
|
|
typedef struct {
|
|
UINT32 max_cnt_ratio[15]; // max_cnt = height*width*max_cnt_ratio, range = 0~10000 (1/10000)
|
|
DP_SETTING bright_set;
|
|
DP_SETTING dark_set;
|
|
} CAL_ALG_DP_SETTING;
|
|
|
|
|
|
// defect pixel (DP) algorithm result
|
|
typedef struct {
|
|
UINT32 addr; ///< dp buffer addr
|
|
UINT32 pixel_cnt; ///< total defect pixel number
|
|
UINT32 data_length; ///< dp data length
|
|
} CAL_ALG_DP_RST;
|
|
|
|
//============================================================================
|
|
// export lenscen API
|
|
//============================================================================
|
|
extern unsigned int get_dpc_lib_version(void);
|
|
extern unsigned int dpc_get_sensor_info(int sensor_id, ISPT_SENSOR_MODE_INFO *p_sensor_mode_info);
|
|
extern unsigned int dpc_get_raw(int sensor_id, ISPT_RAW_INFO *final_raw_info, UINT32 tmp_buf);
|
|
extern unsigned int cal_dp_process(int frame_idx, ISPT_RAW_INFO *raw_info, CAL_ALG_DP_PARAM *dp_param, CAL_ALG_DP_RST *dp_rst, ISPT_SENSOR_MODE_INFO *p_sensor_mode_info);
|
|
extern void cali_dpc_set_dbg_out(unsigned int on);
|
|
extern void cali_dpc_set_dbg_raw_path(char* file_path);
|
|
//extern void set_AE(AET_MANUAL *ae_manual);
|
|
|
|
#endif // __LIGHTLIB_H__
|