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  */
17 
18 #ifndef ___RK_AIQ_CALIB_DB_V2_TYPES_ISP32_H__
19 #define ___RK_AIQ_CALIB_DB_V2_TYPES_ISP32_H__
20 
21 #include "ablc_head_V32.h"
22 #include "adegamma_head.h"
23 #include "adehaze_head.h"
24 #include "adpcc_head.h"
25 #include "adrc_head.h"
26 #include "aec_head.h"
27 #include "af_head.h"
28 #include "agamma_head.h"
29 #include "agic_head.h"
30 #include "aie_head.h"
31 #include "alsc_head.h"
32 #include "amerge_head.h"
33 #include "atmo_head.h"
34 #include "awb_head.h"
35 #include "bayer2dnr_head_v23.h"
36 #include "bayertnr_head_v23.h"
37 #include "cac_head.h"
38 #include "ccm_head.h"
39 #include "cgc_head.h"
40 #include "cnr_head_v30.h"
41 #include "cproc_head.h"
42 #include "cpsl_head.h"
43 #include "csm_head.h"
44 #include "debayer_head.h"
45 #include "fec_head.h"
46 #include "gain_head_v2.h"
47 #include "ldch_head.h"
48 #include "lut3d_head.h"
49 #include "sharp_head_v33.h"
50 #include "thumbnails_head.h"
51 #include "ynr_head_v22.h"
52 
53 RKAIQ_BEGIN_DECLARE
54 
55 typedef struct CalibDbV2_ColorAsGrey_Param_s {
56     // M4_BOOL_DESC("enable", "0")
57     bool enable;
58     // M4_NUMBER_DESC("skip_frame", "s8", M4_RANGE(0,255), "10", M4_DIGIT(0))
59     int8_t skip_frame;
60 } CalibDbV2_ColorAsGrey_Param_t;
61 
62 typedef struct CalibDbV2_ColorAsGrey_s {
63     // M4_STRUCT_DESC("param", "normal_ui_style")
64     CalibDbV2_ColorAsGrey_Param_t param;
65 } CalibDbV2_ColorAsGrey_t;
66 
67 typedef struct CalibDbV2_LUMA_DETECT_s {
68     unsigned char luma_detect_en;
69     int fixed_times;
70     float mutation_threshold;
71     float mutation_threshold_level2;
72 } CalibDbV2_LUMA_DETECT_t;
73 
74 typedef struct CamCalibDbV2ContextIsp32_s {
75     // M4_STRUCT_DESC("AEC", "normal_ui_style")
76     CalibDb_Aec_ParaV2_t ae_calib;
77     // M4_STRUCT_DESC("wb_v32", "normal_ui_style")
78     CalibDbV2_Wb_Para_V32_t wb_v32;
79     // M4_STRUCT_DESC("ablcV32_calib", "normal_ui_style")
80     CalibDbV2_Blc_V32_t ablcV32_calib;
81     // M4_STRUCT_DESC("ccm_calib", "normal_ui_style")
82     CalibDbV2_Ccm_Para_V32_t ccm_calib_v2;
83     // M4_STRUCT_DESC("lut3d_calib", "normal_ui_style")
84     CalibDbV2_Lut3D_Para_V2_t lut3d_calib;
85     // M4_STRUCT_DESC("degamma", "curve_ui_type_A")
86     CalibDbV2_Adegmma_t adegamma_calib;
87 #if defined(ISP_HW_V32)
88     // M4_STRUCT_DESC("agic_calib_v21", "normal_ui_style")
89     CalibDbV2_Gic_V21_t agic_calib_v21;
90 #endif
91 
92 #if defined(ISP_HW_V32)
93     // M4_STRUCT_DESC("debayer_calib", "normal_ui_style")
94     CalibDbV2_Debayer_v2_t debayer_v2;
95 #endif
96 
97 #if defined(ISP_HW_V32_LITE)
98     // M4_STRUCT_DESC("debayer_calib", "normal_ui_style")
99     CalibDbV2_Debayer_v2_lite_t debayer_v2_lite;
100 #endif
101 
102     // M4_STRUCT_DESC("Amerge_calib", "normal_ui_style")
103     CalibDbV2_merge_v12_t amerge_calib_v12;
104 #if defined(ISP_HW_V32)
105     // M4_STRUCT_DESC("Adrc_calib", "normal_ui_style")
106     CalibDbV2_drc_V12_t adrc_calib_v12;
107 #elif defined(ISP_HW_V32_LITE)
108     // M4_STRUCT_DESC("adrc_calib_v12_lite", "normal_ui_style")
109     CalibDbV2_drc_v12_lite_t adrc_calib_v12_lite;
110 #endif
111     // M4_STRUCT_DESC("agamma_calib", "normal_ui_style")
112     CalibDbV2_gamma_v11_t agamma_calib_v11;
113     // M4_STRUCT_DESC("adehaze_calib", "normal_ui_style")
114     CalibDbV2_dehaze_v12_t adehaze_calib_v12;
115     // M4_STRUCT_DESC("adpcc_calib", "normal_ui_style")
116     CalibDbV2_Dpcc_t adpcc_calib;
117     // M4_STRUCT_DESC("aldch", "normal_ui_style")
118     CalibDbV2_LDCH_t aldch;
119     // M4_STRUCT_DESC("cpsl", "normal_ui_style")
120     CalibDbV2_Cpsl_t cpsl;
121     // M4_STRUCT_DESC("cproc_calib", "normal_ui_style")
122     CalibDbV2_Cproc_t cproc;
123     // M4_STRUCT_DESC("aie_calib", "normal_ui_style")
124     CalibDbV2_IE_t ie;
125     // M4_STRUCT_DESC("colorAsGrey", "normal_ui_style")
126     CalibDbV2_ColorAsGrey_t colorAsGrey;
127     // M4_STRUCT_DESC("lsc_v2", "normal_ui_style")
128     CalibDbV2_LSC_t lsc_v2;
129 #if defined(ISP_HW_V32)
130     // M4_STRUCT_DESC("bayer2dnr_v23", "normal_ui_style")
131     CalibDbV2_Bayer2dnrV23_t bayer2dnr_v23;
132     // M4_STRUCT_DESC("bayertnr_v23", "normal_ui_style")
133     CalibDbV2_BayerTnrV23_t bayertnr_v23;
134 #else
135     // M4_STRUCT_DESC("bayertnr_v23_lite", "normal_ui_style")
136     CalibDbV2_BayerTnrV23Lite_t bayertnr_v23;
137 #endif
138     // M4_STRUCT_DESC("ynr_v22", "normal_ui_style")
139     CalibDbV2_YnrV22_t ynr_v22;
140     // M4_STRUCT_DESC("cnr_v30", "normal_ui_style")
141     CalibDbV2_CNRV30_t cnr_v30;
142 #if defined(ISP_HW_V32)
143     // M4_STRUCT_DESC("sharp_v33", "normal_ui_style")
144     CalibDbV2_SharpV33_t sharp_v33;
145 #else
146     // M4_STRUCT_DESC("sharp_v33_lite", "normal_ui_style")
147     CalibDbV2_SharpV33Lite_t sharp_v33;
148 #endif
149 #if defined(ISP_HW_V32)
150     // M4_STRUCT_DESC("cac_v11", "normal_ui_style")
151     CalibDbV2_Cac_V11_t cac_v11;
152 #endif
153     // M4_STRUCT_DESC("af_calib", "normal_ui_style")
154 #if defined(ISP_HW_V32)
155     CalibDbV2_AFV31_t af_v31;
156 #endif
157 #if defined(ISP_HW_V32_LITE)
158     CalibDbV2_AFV32_t af_v32;
159 #endif
160     // M4_STRUCT_DESC("gain_v2", "normal_ui_style")
161     CalibDbV2_GainV2_t gain_v2;
162     // M4_STRUCT_DESC("csm", "normal_ui_style")
163     CalibDbV2_csm_t csm;
164     // M4_STRUCT_DESC("cgc", "normal_ui_style")
165     CalibDbV2_cgc_t cgc;
166 } CamCalibDbV2ContextIsp32_t;
167 
168 RKAIQ_END_DECLARE
169 
170 #endif
171