xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/algos/anr/rk_aiq_anr_algo_mfnr.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #ifndef __RK_ISP20_MFNR_PARSE_PARAMS_
2 #define __RK_ISP20_MFNR_PARSE_PARAMS_
3 
4 #include <math.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include "base/xcam_log.h"
8 #include "rk_aiq_comm.h"
9 #include "RkAiqCalibDbTypes.h"
10 #include "anr/rk_aiq_types_anr_algo_prvt.h"
11 #include "RkAiqCalibDbTypesV2.h"
12 
13 
14 RKAIQ_BEGIN_DECLARE
15 
16 ANRresult_t mfnr_get_mode_cell_idx_by_name(CalibDb_MFNR_2_t *pCalibdb, const char *name, int *mode_idx);
17 
18 ANRresult_t mfnr_get_setting_idx_by_name(CalibDb_MFNR_2_t *pCalibdb, char *name, int mode_idx, int *setting_idx);
19 
20 ANRresult_t init_mfnr_dynamic_params(RKAnr_Mfnr_Dynamic_t *pDynamic, CalibDb_MFNR_2_t *pCalibdb, int mode_idx);
21 
22 ANRresult_t mfnr_config_dynamic_param(RKAnr_Mfnr_Dynamic_t *pDynamic,  CalibDb_MFNR_2_t *pCalibdb, char* param_mode);
23 
24 ANRresult_t mfnr_config_setting_param(RKAnr_Mfnr_Params_t *pParams, CalibDb_MFNR_2_t *pCalibdb, char* param_mode, char* snr_name);
25 
26 ANRresult_t init_mfnr_params(RKAnr_Mfnr_Params_t *pParams, CalibDb_MFNR_2_t *pCalibdb, int mode_idx, int setting_idx);
27 
28 ANRresult_t select_mfnr_params_by_ISO(RKAnr_Mfnr_Params_t *stmfnrParams,    RKAnr_Mfnr_Params_Select_t *stmfnrParamsSelected, ANRExpInfo_t *pExpInfo, int bits_proc);
29 
30 ANRresult_t mfnr_fix_transfer(RKAnr_Mfnr_Params_Select_t* tnr, RKAnr_Mfnr_Fix_t *pMfnrCfg, ANRExpInfo_t *pExpInfo, float gain_ratio, float fLumaStrength, float fChromaStrength);
31 
32 ANRresult_t mfnr_fix_Printf(RKAnr_Mfnr_Fix_t  * pMfnrCfg);
33 
34 ANRresult_t mfnr_dynamic_calc(RKAnr_Mfnr_Dynamic_t  * pDynamic, ANRExpInfo_t *pExpInfo);
35 
36 ANRresult_t mfnr_get_setting_idx_by_name_json(CalibDbV2_MFNR_t *pCalibdb, char *name, int* calib_idx, int *tuning_idx);
37 
38 ANRresult_t init_mfnr_params_json(RKAnr_Mfnr_Params_t *pParams, CalibDbV2_MFNR_t *pCalibdb, int calib_idx, int tuning_idx);
39 
40 ANRresult_t mfnr_config_setting_param_json(RKAnr_Mfnr_Params_t *pParams, CalibDbV2_MFNR_t *pCalibdb, char* param_mode, char* snr_name);
41 
42 ANRresult_t init_mfnr_dynamic_params_json(RKAnr_Mfnr_Dynamic_t *pDynamic, CalibDbV2_MFNR_t *pCalibdb);
43 
44 ANRresult_t mfnr_config_dynamic_param_json(RKAnr_Mfnr_Dynamic_t *pDynamic,  CalibDbV2_MFNR_t *pCalibdb, char* param_mode);
45 
46 ANRresult_t mfnr_config_motion_param_json(CalibDb_MFNR_Motion_t *pMotion,  CalibDbV2_MFNR_t *pCalibdb, char* param_mode);
47 
48 ANRresult_t mfnr_calibdbV2_assign(CalibDbV2_MFNR_t *pDst, CalibDbV2_MFNR_t *pSrc);
49 
50 void mfnr_calibdbV2_free(CalibDbV2_MFNR_t *pCalibdbV2);
51 
52 ANRresult_t mfnr_algo_param_printf(RKAnr_Mfnr_Params_t *pParams);
53 
54 RKAIQ_END_DECLARE
55 
56 #endif
57 
58 
59