1 /*
2  * Copyright (c) 2021-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_CALIB_DB_V2_TYPES_ISP21_H__
17 #define ___RK_AIQ_CALIB_DB_V2_TYPES_ISP21_H__
18 
19 #include "ablc_head.h"
20 #include "adegamma_head.h"
21 #include "adehaze_head.h"
22 #include "adpcc_head.h"
23 #include "adrc_head.h"
24 #include "aec_head.h"
25 #include "af_head.h"
26 #include "agamma_head.h"
27 #include "agic_head.h"
28 #include "aie_head.h"
29 #include "alsc_head.h"
30 #include "amerge_head.h"
31 #include "atmo_head.h"
32 #include "awb_head.h"
33 #include "bayernr_head_v2.h"
34 #include "ccm_head.h"
35 #include "cgc_head.h"
36 #include "cnr_head_v1.h"
37 #include "cproc_head.h"
38 #include "cpsl_head.h"
39 #include "csm_head.h"
40 #include "debayer_head.h"
41 #include "fec_head.h"
42 #include "ldch_head.h"
43 #include "lut3d_head.h"
44 #include "sharp_head_v3.h"
45 #include "thumbnails_head.h"
46 #include "ynr_head_v2.h"
47 
48 RKAIQ_BEGIN_DECLARE
49 
50 typedef struct CalibDbV2_ColorAsGrey_Param_s {
51     // M4_BOOL_DESC("enable", "0")
52     bool enable;
53     // M4_NUMBER_DESC("skip_frame", "s8", M4_RANGE(0,255), "10", M4_DIGIT(0))
54     int8_t skip_frame;
55 } CalibDbV2_ColorAsGrey_Param_t;
56 
57 typedef struct CalibDbV2_ColorAsGrey_s {
58     // M4_STRUCT_DESC("param", "normal_ui_style")
59     CalibDbV2_ColorAsGrey_Param_t param;
60 } CalibDbV2_ColorAsGrey_t;
61 
62 typedef struct CalibDbV2_LUMA_DETECT_s {
63     unsigned char luma_detect_en;
64     int fixed_times;
65     float mutation_threshold;
66     float mutation_threshold_level2;
67 } CalibDbV2_LUMA_DETECT_t;
68 
69 typedef struct CamCalibDbV2ContextIsp21_s {
70     // M4_STRUCT_DESC("AEC", "normal_ui_style")
71     CalibDb_Aec_ParaV2_t ae_calib;
72     // M4_STRUCT_DESC("wb_v21", "normal_ui_style")
73     CalibDbV2_Wb_Para_V21_t wb_v21;
74     // M4_STRUCT_DESC("agamma_calib", "normal_ui_style")
75     CalibDbV2_gamma_v10_t agamma_calib_v10;
76     // M4_STRUCT_DESC("ablc_calib", "normal_ui_style")
77     CalibDbV2_Ablc_t ablc_calib;
78     // M4_STRUCT_DESC("degamma", "curve_ui_type_A")
79     CalibDbV2_Adegmma_t adegamma_calib;
80     // M4_STRUCT_DESC("agic_calib_v21", "normal_ui_style")
81     CalibDbV2_Gic_V21_t agic_calib_v21;
82     // M4_STRUCT_DESC("adehaze_calib_v11", "normal_ui_style")
83     CalibDbV2_dehaze_v11_t adehaze_calib_v11;
84     // M4_STRUCT_DESC("adpcc_calib", "normal_ui_style")
85     CalibDbV2_Dpcc_t adpcc_calib;
86     // M4_STRUCT_DESC("amerge_calib", "normal_ui_style")
87     CalibDbV2_merge_v10_t amerge_calib_v10;
88     // M4_STRUCT_DESC("adrc_calib", "normal_ui_style")
89     CalibDbV2_drc_V10_t adrc_calib_v10;
90     // M4_STRUCT_DESC("cpsl", "normal_ui_style")
91     CalibDbV2_Cpsl_t cpsl;
92     // M4_STRUCT_DESC("debayer_calib", "normal_ui_style")
93     CalibDbV2_Debayer_t debayer;
94     // M4_STRUCT_DESC("cproc_calib", "normal_ui_style")
95     CalibDbV2_Cproc_t cproc;
96     // M4_STRUCT_DESC("aie_calib", "normal_ui_style")
97     CalibDbV2_IE_t ie;
98     // M4_STRUCT_DESC("lsc_v2", "normal_ui_style")
99     CalibDbV2_LSC_t lsc_v2;
100     // M4_STRUCT_DESC("colorAsGrey", "normal_ui_style")
101     CalibDbV2_ColorAsGrey_t colorAsGrey;
102     CalibDbV2_LUMA_DETECT_t lumaDetect;
103     // M4_STRUCT_DESC("aldch", "normal_ui_style")
104     CalibDbV2_LDCH_t aldch;
105     // M4_STRUCT_DESC("ccm_calib", "normal_ui_style")
106     CalibDbV2_Ccm_Para_V2_t ccm_calib;
107     // M4_STRUCT_DESC("lut3d_calib", "normal_ui_style")
108     CalibDbV2_Lut3D_Para_V2_t lut3d_calib;
109     // M4_STRUCT_DESC("af_calib", "normal_ui_style")
110     CalibDbV2_AF_t af;
111     // M4_STRUCT_DESC("thumbnails", "normal_ui_style")
112     CalibDbV2_Thumbnails_t thumbnails;
113     // M4_STRUCT_DESC("bayernr_v2", "normal_ui_style")
114     CalibDbV2_BayerNrV2_t bayernr_v2;
115     // M4_STRUCT_DESC("cnr_v1", "normal_ui_style")
116     CalibDbV2_CNR_t cnr_v1;
117     // M4_STRUCT_DESC("ynr_v2", "normal_ui_style")
118     CalibDbV2_YnrV2_t ynr_v2;
119     // M4_STRUCT_DESC("sharp_v3", "normal_ui_style")
120     CalibDbV2_SharpV3_t sharp_v3;
121     // M4_STRUCT_DESC("csm", "normal_ui_style")
122     CalibDbV2_csm_t csm;
123     // M4_STRUCT_DESC("cgc", "normal_ui_style")
124     CalibDbV2_cgc_t cgc;
125 } CamCalibDbV2ContextIsp21_t;
126 
127 RKAIQ_END_DECLARE
128 
129 #endif
130