1 /*
2  * Copyright (c) 2019-2022 Rockchip Eletronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #ifndef _RK_AIQ_TYPES_ABLC_ALGO_PRVT_V32_H_
17 #define _RK_AIQ_TYPES_ABLC_ALGO_PRVT_V32_H_
18 
19 #include "RkAiqCalibDbTypes.h"
20 #include "RkAiqCalibDbTypesV2.h"
21 #include "ablcV32/rk_aiq_types_ablc_algo_int_v32.h"
22 #include "abayer2dnrV23/rk_aiq_types_abayer2dnr_algo_int_v23.h"
23 #include "xcam_common.h"
24 #include "xcam_log.h"
25 
26 typedef struct AblcContext_V32_s {
27     AblcOPMode_V32_t eMode;
28     AblcParams_V32_t stBlc0Params;
29     AblcParams_V32_t stBlc1Params;
30     AblcOBParams_V32_t stBlcOBParams;
31     AblcSelect_V32_t stBlc0Select;
32     AblcSelect_V32_t stBlc1Select;
33     AblcOBSelect_V32_t stBlcOBSelect;
34     AblcManualAttr_V32_t stBlc0Manual;
35     AblcManualAttr_V32_t stBlc1Manual;
36     AblcManualOBAttr_V32_t stBlcOBManual;
37     AblcRefParams_V32_t stBlcRefParams;
38     // AblcProc_V32_t ProcRes;
39 
40     AblcExpInfo_V32_t stExpInfo;
41     AblcState_V32_t eState;
42 
43     CalibDbV2_Blc_V32_t stBlcCalib;
44 #if (RKAIQ_HAVE_BAYER2DNR_V23)
45     CalibDbV2_Bayer2dnrV23_Calib_t stBayer2dnrCalib;
46 #endif
47     int prepare_type;
48 
49     int isReCalculate;
50     bool isUpdateParam;
51 
52 } AblcContext_V32_t;
53 
54 #endif  // _RK_AIQ_TYPES_ABLC_ALGO_PRVT_V32_H_