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_ISP20_H__
17 #define ___RK_AIQ_CALIB_DB_V2_TYPES_ISP20_H__
18 
19 #include "ablc_head.h"
20 #include "adegamma_head.h"
21 #include "adehaze_head.h"
22 #include "adpcc_head.h"
23 #include "aec_head.h"
24 #include "af_head.h"
25 #include "agamma_head.h"
26 #include "agic_head.h"
27 #include "aie_head.h"
28 #include "alsc_head.h"
29 #include "amerge_head.h"
30 #include "atmo_head.h"
31 #include "awb_head.h"
32 #include "bayernr_head_v1.h"
33 #include "ccm_head.h"
34 #include "cproc_head.h"
35 #include "cpsl_head.h"
36 #include "debayer_head.h"
37 #include "edgefilter_head_v1.h"
38 #include "eis_head.h"
39 #include "fec_head.h"
40 #include "ldch_head.h"
41 #include "lut3d_head.h"
42 #include "mfnr_head_v1.h"
43 #include "orb_head.h"
44 #include "sharp_head_v1.h"
45 #include "thumbnails_head.h"
46 #include "uvnr_head_v1.h"
47 #include "ynr_head_v1.h"
48 
49 RKAIQ_BEGIN_DECLARE
50 
51 typedef struct CalibDbV2_ColorAsGrey_Param_s {
52     // M4_BOOL_DESC("enable", "0")
53     bool enable;
54     // M4_NUMBER_DESC("skip_frame", "s8", M4_RANGE(0,255), "10", M4_DIGIT(0))
55     int8_t skip_frame;
56 } CalibDbV2_ColorAsGrey_Param_t;
57 
58 typedef struct CalibDbV2_ColorAsGrey_s {
59     // M4_STRUCT_DESC("param", "normal_ui_style")
60     CalibDbV2_ColorAsGrey_Param_t param;
61 } CalibDbV2_ColorAsGrey_t;
62 
63 typedef struct CalibDbV2_LUMA_DETECT_s {
64     unsigned char luma_detect_en;
65     int fixed_times;
66     float mutation_threshold;
67     float mutation_threshold_level2;
68 } CalibDbV2_LUMA_DETECT_t;
69 
70 typedef struct CamCalibDbV2ContextIsp20_s {
71     // M4_STRUCT_DESC("AEC", "normal_ui_style")
72     CalibDb_Aec_ParaV2_t ae_calib;
73     // M4_STRUCT_DESC("wb_v20", "normal_ui_style")
74     CalibDbV2_Wb_Para_V20_t wb_v20;
75     // M4_STRUCT_DESC("agamma_calib", "normal_ui_style")
76     CalibDbV2_gamma_v10_t agamma_calib_v10;
77     // M4_STRUCT_DESC("ablc_calib", "normal_ui_style")
78     CalibDbV2_Ablc_t ablc_calib;
79     // M4_STRUCT_DESC("degamma", "curve_ui_type_A")
80     CalibDbV2_Adegmma_t adegamma_calib;
81     // M4_STRUCT_DESC("agic_calib_v20", "normal_ui_style")
82     CalibDbV2_Gic_V20_t agic_calib_v20;
83     // M4_STRUCT_DESC("adehaze_calib", "normal_ui_style")
84     CalibDbV2_dehaze_v10_t adehaze_calib_v10;
85     // M4_STRUCT_DESC("adpcc_calib", "normal_ui_style")
86     CalibDbV2_Dpcc_t adpcc_calib;
87     // M4_STRUCT_DESC("amerge_calib", "normal_ui_style")
88     CalibDbV2_merge_v10_t amerge_calib_v10;
89     // M4_STRUCT_DESC("atmo_calib", "normal_ui_style")
90     CalibDbV2_tmo_t atmo_calib;
91     // M4_STRUCT_DESC("cpsl", "normal_ui_style")
92     CalibDbV2_Cpsl_t cpsl;
93     // M4_STRUCT_DESC("orb", "normal_ui_style")
94     CalibDbV2_Orb_t orb;
95     // M4_STRUCT_DESC("bayernr_v1", "normal_ui_style")
96     CalibDbV2_BayerNrV1_t bayernr_v1;
97     // M4_STRUCT_DESC("mfnr_v1", "normal_ui_style")
98     CalibDbV2_MFNR_t mfnr_v1;
99     // M4_STRUCT_DESC("uvnr_v1", "normal_ui_style")
100     CalibDbV2_UVNR_t uvnr_v1;
101     // M4_STRUCT_DESC("ynr_v1", "normal_ui_style")
102     CalibDbV2_YnrV1_t ynr_v1;
103     // M4_STRUCT_DESC("sharp_v1", "normal_ui_style")
104     CalibDbV2_SharpV1_t sharp_v1;
105     // M4_STRUCT_DESC("edgefilter_v1", "normal_ui_style")
106     CalibDbV2_Edgefilter_t edgefilter_v1;
107     // M4_STRUCT_DESC("debayer_calib", "normal_ui_style")
108     CalibDbV2_Debayer_t debayer;
109     // M4_STRUCT_DESC("cproc_calib", "normal_ui_style")
110     CalibDbV2_Cproc_t cproc;
111     // M4_STRUCT_DESC("aie_calib", "normal_ui_style")
112     CalibDbV2_IE_t ie;
113     // M4_STRUCT_DESC("lsc_v2", "normal_ui_style")
114     CalibDbV2_LSC_t lsc_v2;
115     // M4_STRUCT_DESC("eis_calib", "normal_ui_style")
116     CalibDbV2_Eis_t eis_calib;
117     // M4_STRUCT_DESC("colorAsGrey", "normal_ui_style")
118     CalibDbV2_ColorAsGrey_t colorAsGrey;
119     // M4_STRUCT_DESC("lumaDetect_calib", "normal_ui_style")
120     CalibDbV2_LUMA_DETECT_t lumaDetect;
121     // M4_STRUCT_DESC("afec_calib", "normal_ui_style")
122     CalibDbV2_FEC_t afec;
123     // M4_STRUCT_DESC("aldch", "normal_ui_style")
124     CalibDbV2_LDCH_t aldch;
125     // M4_STRUCT_DESC("ccm_calib", "normal_ui_style")
126     CalibDbV2_Ccm_Para_V2_t ccm_calib;
127     // M4_STRUCT_DESC("lut3d_calib", "normal_ui_style")
128     CalibDbV2_Lut3D_Para_V2_t lut3d_calib;
129     // M4_STRUCT_DESC("af_calib", "normal_ui_style")
130     CalibDbV2_AF_t af;
131     CalibDbV2_Thumbnails_t thumbnails;
132 } CamCalibDbV2ContextIsp20_t;
133 
134 RKAIQ_END_DECLARE
135 
136 #endif
137