You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
3.9 KiB
141 lines
3.9 KiB
#ifndef _RK_AIQ_ISP32_MODULES_H_
|
|
#define _RK_AIQ_ISP32_MODULES_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "include/common/rk-camera-module.h"
|
|
#include "include/common/rk_aiq_comm.h"
|
|
#include "include/common/rkisp32-config.h"
|
|
#include "include/common/rk-isp33-config.h"
|
|
#include "include/common/rk-isp35-config.h"
|
|
#include "rk_aiq_isp_blc30.h"
|
|
#if RKAIQ_HAVE_DEHAZE_V14
|
|
#include "rk_aiq_isp_histeq23.h"
|
|
#elif RKAIQ_HAVE_HISTEQ_V10
|
|
#include "rk_aiq_isp_histeq30.h"
|
|
#endif
|
|
#if defined(RKAIQ_HAVE_SHARP_V40) || defined(RKAIQ_HAVE_SHARP_V41)
|
|
#include "rk_aiq_isp_texEst40.h"
|
|
#endif
|
|
#include "rk_aiq_isp_gain20.h"
|
|
#include "rk_aiq_types.h"
|
|
|
|
typedef struct RKAiqAecExpInfo_s RKAiqAecExpInfo_t;
|
|
|
|
typedef struct blc_res_cvt_s {
|
|
bool en;
|
|
/* M4_GENERIC_DESC(
|
|
M4_ALIAS(obcPreTnr),
|
|
M4_TYPE(struct),
|
|
M4_UI_MODULE(normal_ui_style),
|
|
M4_HIDE_EX(0),
|
|
M4_RO(0),
|
|
M4_ORDER(0),
|
|
M4_NOTES(The dynamic params of optical black correction before TNR.)) */
|
|
blc_obcPreTnr_dyn_t obcPreTnr;
|
|
/* M4_GENERIC_DESC(
|
|
M4_ALIAS(obcPostTnr),
|
|
M4_TYPE(struct),
|
|
M4_UI_MODULE(normal_ui_style),
|
|
M4_HIDE_EX(0),
|
|
M4_RO(0),
|
|
M4_ORDER(1),
|
|
M4_NOTES(The dynamic params of optical black correction after TNR.)) */
|
|
blc_obcPostTnr_dyn_t obcPostTnr;
|
|
} blc_res_cvt_t;
|
|
|
|
typedef struct otplsc_res_cvt_s {
|
|
__u32 flag;
|
|
__u16 width;
|
|
__u16 height;
|
|
__u16 x_size_tbl[17];
|
|
__u16 y_size_tbl[17];
|
|
__u16 lsc_r[RKMODULE_LSCDATA_LEN];
|
|
__u16 lsc_b[RKMODULE_LSCDATA_LEN];
|
|
__u16 lsc_gr[RKMODULE_LSCDATA_LEN];
|
|
__u16 lsc_gb[RKMODULE_LSCDATA_LEN];
|
|
} otplsc_res_cvt_t;
|
|
|
|
typedef struct {
|
|
uint32_t frameId;
|
|
uint16_t rawWidth;
|
|
uint16_t rawHeight;
|
|
bool isGrayMode;
|
|
bool isFirstFrame;
|
|
uint8_t frameNum;
|
|
float preDGain;
|
|
float preDGain_preFrm;
|
|
float preDGain_drc;
|
|
int frameIso[3];
|
|
float frameEt[3];
|
|
float frameDGain[3];
|
|
struct rkmodule_awb_inf otp_awb;
|
|
struct rkmodule_lsc_inf otp_lsc;
|
|
struct rkmodule_af_inf *otp_af;
|
|
struct rkmodule_pdaf_inf *otp_pdaf;
|
|
#if RKAIQ_HAVE_AIBNR
|
|
RkAiqAibnrModelInfo_t aibnrModelInfo;
|
|
#endif
|
|
RKAiqAecExpInfo_t *ae_exp;
|
|
blc_res_cvt_t blc_res;
|
|
bool use_aiisp;
|
|
int warning_signal;
|
|
int warning_count;
|
|
bool cnr_path_en;
|
|
float L2S_Ratio;
|
|
#ifdef USE_NEWSTRUCT
|
|
float ynr_sigma[HIST_SIGMA_LUT_NUM];
|
|
#endif
|
|
bool cmps_on;
|
|
bool cmps_is15bit;
|
|
uint8_t cmps_offsetbit;
|
|
bool dehaze_en;
|
|
bool histeq_en;
|
|
bool btnr_en;
|
|
bool btnr_init_en;
|
|
int btnrCfg_pixDomain_mode;
|
|
bool btnrT_predgainWkArd_en;
|
|
int btnrT_predgain_mode;
|
|
float btnrT_predgain_curve;
|
|
int btnrCfg_trans_mode;
|
|
int btnrCfg_trans_offset;
|
|
#if defined(ISP_HW_V33) || defined(ISP_HW_V35)
|
|
texEst_param_t texEst_param;
|
|
int sw_btnrT_outFrmBase_mode;
|
|
#endif
|
|
int drc_warning_count;
|
|
int blc_warning_count;
|
|
int btnr_warning_count;
|
|
void* pBlcInfo;
|
|
float offset2Blc1;
|
|
int blc0_diff;
|
|
uint16_t isp_ob_offset;
|
|
uint16_t isp_ob_offset1;
|
|
bool ieEn;
|
|
uint8_t bayer_fmt;
|
|
otplsc_res_cvt_t otplsc_res;
|
|
} common_cvt_info_t;
|
|
|
|
typedef struct {
|
|
#if defined(ISP_HW_V39)
|
|
struct isp39_isp_params_cfg* isp_cfg;
|
|
#elif defined(ISP_HW_V33)
|
|
struct isp33_isp_params_cfg* isp_cfg;
|
|
#elif defined(ISP_HW_V35)
|
|
struct isp35_isp_params_cfg* isp_cfg;
|
|
#endif
|
|
} isp_params_t;
|
|
|
|
RKAIQ_BEGIN_DECLARE
|
|
|
|
void rk_aiq_dm21_params_cvt(void* attr, struct isp32_isp_params_cfg* isp_cfg);
|
|
void rk_aiq_btnr32_params_cvt(void* attr, struct isp32_isp_params_cfg* isp_cfg, bool bypass);
|
|
void rk_aiq_ynr32_params_cvt(void* attr, struct isp32_isp_params_cfg* isp_cfg,common_cvt_info_t *cvtinfo);
|
|
void rk_aiq_sharp32_params_cvt(void* attr, struct isp32_isp_params_cfg* isp_cfg, common_cvt_info_t *cvtinfo);
|
|
void rk_aiq_dehaze22_params_cvt(void* attr, struct isp32_isp_params_cfg* isp_cfg);
|
|
// void rk_aiq_gamma21_params_cvt(void* attr, struct isp32_isp_params_cfg* isp_cfg);
|
|
|
|
RKAIQ_END_DECLARE
|
|
#endif
|
|
|