1 /*
2  *rk_aiq_types_alsc_algo_prvt.h
3  *
4  *  Copyright (c) 2019 Rockchip Corporation
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19 
20 #ifndef _RK_AIQ_TYPES_ABAYERNR_ALGO_PRVT_V1_H_
21 #define _RK_AIQ_TYPES_ABAYERNR_ALGO_PRVT_V1_H_
22 
23 #include "arawnr/rk_aiq_types_abayernr_algo_int_v1.h"
24 #include "RkAiqCalibDbTypes.h"
25 #include "xcam_log.h"
26 #include "xcam_common.h"
27 #include "RkAiqCalibDbV2Helper.h"
28 
29 
30 
31 
32 //RKAIQ_BEGIN_DECLARE
33 
34 /************bayernr fix***************/
35 #define FIXNLMCALC      10
36 #define FIXDIFMAX       ((long long)1<<(14))
37 #define LUTMAXM1_FIX    300.0 //29.0
38 #define LUTPRECISION_FIX (1<<FIXNLMCALC)
39 
40 
41 
42 //anr context
43 typedef struct Abayernr_Context_V1_s {
44     Abayernr_ExpInfo_V1_t stExpInfo;
45     Abayernr_State_V1_t eState;
46     Abayernr_OPMode_V1_t eMode;
47 
48     Abayernr_Auto_Attr_V1_t stAuto;
49     Abayernr_Manual_Attr_V1_t stManual;
50 
51 	#if ABAYERNR_USE_JSON_FILE_V1
52 	CalibDbV2_BayerNrV1_t bayernr_v1;
53 	#else
54 	CalibDb_BayerNr_2_t stBayernrCalib;
55 	#endif
56 
57 	float fRawnr_SF_Strength;
58 
59 	bool isIQParaUpdate;
60 	bool isGrayMode;
61 	int prepare_type;
62 	Abayernr_ParamMode_V1_t eParamMode;
63 } Abayernr_Context_V1_t;
64 
65 
66 
67 
68 
69 
70 //RKAIQ_END_DECLARE
71 
72 #endif
73 
74 
75