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_ISP30_H__
19 #define ___RK_AIQ_CALIB_DB_V2_TYPES_ISP30_H__
20 
21 #include "ablc_head.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_v2.h"
36 #include "bayertnr_head_v2.h"
37 #include "cac_head.h"
38 #include "ccm_head.h"
39 #include "cgc_head.h"
40 #include "cnr_head_v2.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_v4.h"
50 #include "thumbnails_head.h"
51 #include "ynr_head_v3.h"
52 RKAIQ_BEGIN_DECLARE
53 
54 typedef struct CalibDbV2_ColorAsGrey_Param_s {
55     // M4_BOOL_DESC("enable", "0")
56     bool enable;
57     // M4_NUMBER_DESC("skip_frame", "s8", M4_RANGE(0,255), "10", M4_DIGIT(0))
58     int8_t skip_frame;
59 } CalibDbV2_ColorAsGrey_Param_t;
60 
61 typedef struct CalibDbV2_ColorAsGrey_s {
62     // M4_STRUCT_DESC("param", "normal_ui_style")
63     CalibDbV2_ColorAsGrey_Param_t param;
64 } CalibDbV2_ColorAsGrey_t;
65 
66 typedef struct CalibDbV2_LUMA_DETECT_s {
67     unsigned char luma_detect_en;
68     int fixed_times;
69     float mutation_threshold;
70     float mutation_threshold_level2;
71 } CalibDbV2_LUMA_DETECT_t;
72 
73 typedef struct CamCalibDbV2ContextIsp30_s {
74     // M4_STRUCT_DESC("AEC", "normal_ui_style")
75     CalibDb_Aec_ParaV2_t ae_calib;
76     // M4_STRUCT_DESC("wb_v21", "normal_ui_style")
77     CalibDbV2_Wb_Para_V21_t wb_v21;
78     // M4_STRUCT_DESC("ablc_calib", "normal_ui_style")
79     CalibDbV2_Ablc_t ablc_calib;
80     // M4_STRUCT_DESC("ccm_calib", "normal_ui_style")
81     CalibDbV2_Ccm_Para_V2_t ccm_calib;
82     // M4_STRUCT_DESC("lut3d_calib", "normal_ui_style")
83     CalibDbV2_Lut3D_Para_V2_t lut3d_calib;
84     // M4_STRUCT_DESC("degamma", "curve_ui_type_A")
85     CalibDbV2_Adegmma_t adegamma_calib;
86     // M4_STRUCT_DESC("agic_calib_v21", "normal_ui_style")
87     CalibDbV2_Gic_V21_t agic_calib_v21;
88     // M4_STRUCT_DESC("debayer_calib", "normal_ui_style")
89     CalibDbV2_Debayer_t debayer;
90     // M4_STRUCT_DESC("Amerge_calib", "normal_ui_style")
91     CalibDbV2_merge_v11_t amerge_calib_v11;
92     // M4_STRUCT_DESC("Adrc_calib", "normal_ui_style")
93     CalibDbV2_drc_V11_t adrc_calib_v11;
94     // M4_STRUCT_DESC("agamma_calib", "normal_ui_style")
95     CalibDbV2_gamma_v11_t agamma_calib_v11;
96     // M4_STRUCT_DESC("adehaze_calib", "normal_ui_style")
97     CalibDbV2_dehaze_v11_t adehaze_calib_v11;
98     // M4_STRUCT_DESC("adpcc_calib", "normal_ui_style")
99     CalibDbV2_Dpcc_t adpcc_calib;
100     // M4_STRUCT_DESC("aldch", "normal_ui_style")
101     CalibDbV2_LDCH_t aldch;
102     // M4_STRUCT_DESC("cpsl", "normal_ui_style")
103     CalibDbV2_Cpsl_t cpsl;
104     // M4_STRUCT_DESC("cproc_calib", "normal_ui_style")
105     CalibDbV2_Cproc_t cproc;
106     // M4_STRUCT_DESC("aie_calib", "normal_ui_style")
107     CalibDbV2_IE_t ie;
108     // M4_STRUCT_DESC("colorAsGrey", "normal_ui_style")
109     CalibDbV2_ColorAsGrey_t colorAsGrey;
110     // M4_STRUCT_DESC("lsc_v2", "normal_ui_style")
111     CalibDbV2_LSC_t lsc_v2;
112     // M4_STRUCT_DESC("bayer2dnr_v2", "normal_ui_style")
113     CalibDbV2_Bayer2dnrV2_t bayer2dnr_v2;
114     // M4_STRUCT_DESC("bayertnr_v2", "normal_ui_style")
115     CalibDbV2_BayerTnrV2_t bayertnr_v2;
116     // M4_STRUCT_DESC("ynr_v3", "normal_ui_style")
117     CalibDbV2_YnrV3_t ynr_v3;
118     // M4_STRUCT_DESC("cnr_v2", "normal_ui_style")
119     CalibDbV2_CNRV2_t cnr_v2;
120     // M4_STRUCT_DESC("sharp_v4", "normal_ui_style")
121     CalibDbV2_SharpV4_t sharp_v4;
122     // M4_STRUCT_DESC("cac_v03", "normal_ui_style")
123     CalibDbV2_Cac_V03_t cac_v03;
124     // M4_STRUCT_DESC("cac_v10", "normal_ui_style")
125     CalibDbV2_Cac_V10_t cac_v10;
126     // M4_STRUCT_DESC("af_calib", "normal_ui_style")
127     CalibDbV2_AFV30_t af_v30;
128     // M4_STRUCT_DESC("afec_calib", "normal_ui_style")
129     CalibDbV2_FEC_t afec;
130     // M4_STRUCT_DESC("gain_v2", "normal_ui_style")
131     CalibDbV2_GainV2_t gain_v2;
132     // M4_STRUCT_DESC("csm", "normal_ui_style")
133     CalibDbV2_csm_t csm;
134     // M4_STRUCT_DESC("cgc", "normal_ui_style")
135     CalibDbV2_cgc_t cgc;
136 } CamCalibDbV2ContextIsp30_t;
137 
138 RKAIQ_END_DECLARE
139 
140 #endif
141