xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/iq_parser_v2/RkAiqUapitypes.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  *  Copyright (c) 2021 Rockchip Corporation
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_UAPITYPES_H__
19 #define ___RK_AIQ_UAPITYPES_H__
20 
21 #include "adehaze_uapi_head.h"
22 #include "adrc_uapi_head.h"
23 #include "aec_uapi_head.h"
24 #include "agamma_uapi_head.h"
25 #include "amerge_uapi_head.h"
26 #include "atmo_uapi_head.h"
27 #include "awb_uapi_head.h"
28 #include "rk_aiq_user_api_common.h"
29 #include "adpcc/rk_aiq_types_adpcc_ext.h"
30 
31 #include "a3dlut/rk_aiq_types_a3dlut_ext.h"
32 #if defined(ISP_HW_V32_LITE) ||  defined(ISP_HW_V32) || defined(ISP_HW_V30)
33 #include "gain_uapi_head_v2.h"
34 #endif
35 #include "ccm_uapi_head.h"
36 #include "csm_head.h"
37 #include "cgc_head.h"
38 #include "agic_uapi_head.h"
39 #include "aie_uapi_head.h"
40 #include "acp_uapi_head.h"
41 #include "alsc_uapi_head.h"
42 #include "af_uapi_head.h"
43 
44 #if defined(ISP_HW_V32) || defined(ISP_HW_V30)
45 #include "gain_uapi_head_v2.h"
46 #endif
47 
48 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
49 #include "bayer2dnr_uapi_head_v23.h"
50 #include "bayertnr_uapi_head_v23.h"
51 #include "ynr_uapi_head_v22.h"
52 #include "cnr_uapi_head_v30.h"
53 #include "sharp_uapi_head_v33.h"
54 #include "gain_uapi_head_v2.h"
55 #include "ablc_uapi_head_v32.h"
56 #endif
57 
58 #if defined(ISP_HW_V30)
59 #include "bayer2dnr_uapi_head_v2.h"
60 #include "bayertnr_uapi_head_v2.h"
61 #include "ynr_uapi_head_v3.h"
62 #include "cnr_uapi_head_v2.h"
63 #include "sharp_uapi_head_v4.h"
64 #include "ablc_uapi_head.h"
65 #endif
66 
67 #ifdef __cplusplus
68 extern "C" {
69 #endif
70 
71 
72 typedef struct __ae_uapi {
73     // M4_STRUCT_DESC("expsw_attr", "normal_ui_style")
74     uapi_expsw_attr_t expsw_attr;
75     // M4_STRUCT_DESC("QueryExpInfo", "normal_ui_style")
76     uapi_expinfo_t expinfo;
77 } ae_uapi_t;
78 
79 typedef struct __awb_uapi {
80     // M4_STRUCT_DESC("mode", "normal_ui_style")
81     uapi_wb_mode_t mode;
82     // M4_STRUCT_DESC("wbgain", "normal_ui_style")
83     uapi_wb_gain_t wbgain;
84 } awb_uapi_t;
85 
86 typedef struct __amerge_uapi {
87     // M4_STRUCT_DESC("Info", "normal_ui_style")
88     uapiMergeCurrCtlData_t Info;
89 #if defined(ISP_HW_V21)
90     // M4_STRUCT_DESC("stManual", "normal_ui_style")
91     mMergeAttrV10_t stManual;
92 #endif
93 #if defined(ISP_HW_V30)
94     // M4_STRUCT_DESC("stManual", "normal_ui_style")
95     mMergeAttrV11_t stManual;
96 #endif
97 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
98     // M4_STRUCT_DESC("stManual", "normal_ui_style")
99     mMergeAttrV12_t stManual;
100 #endif
101 } amerge_uapi_t;
102 
103 typedef struct __atmo_uapi {
104     // M4_STRUCT_DESC("ctldata", "normal_ui_style")
105     uapiTmoCurrCtlData_t ctldata;
106 } atmo_uapi_t;
107 
108 typedef struct __adrc_uapi {
109 #if defined(ISP_HW_V21)
110     // M4_STRUCT_DESC("Info", "normal_ui_style")
111     DrcInfoV10_t Info;
112     // M4_STRUCT_DESC("stManual", "normal_ui_style")
113     mdrcAttr_V10_t stManual;
114 #endif
115 #if defined(ISP_HW_V30)
116     // M4_STRUCT_DESC("Info", "normal_ui_style")
117     DrcInfoV11_t Info;
118     // M4_STRUCT_DESC("stManual", "normal_ui_style")
119     mdrcAttr_V11_t stManual;
120 #endif
121 #if defined(ISP_HW_V32)
122     // M4_STRUCT_DESC("Info", "normal_ui_style")
123     DrcInfoV12_t Info;
124     // M4_STRUCT_DESC("stManual", "normal_ui_style")
125     mdrcAttr_V12_t stManual;
126 #endif
127 #if defined(ISP_HW_V32_LITE)
128     // M4_STRUCT_DESC("Info", "normal_ui_style")
129     DrcInfoV12Lite_t Info;
130     // M4_STRUCT_DESC("stManual", "normal_ui_style")
131     mdrcAttr_v12_lite_t stManual;
132 #endif
133 } adrc_uapi_t;
134 
135 typedef struct __agamma_uapi {
136 #if defined(ISP_HW_V20) || defined(ISP_HW_V21)
137     // M4_STRUCT_DESC("stManual", "normal_ui_style")
138     AgammaApiManualV10_t stManual;
139 #else
140     // M4_STRUCT_DESC("stManual", "normal_ui_style")
141     AgammaApiManualV11_t stManual;
142 #endif
143 } agamma_uapi_t;
144 
145 typedef struct __adehaze_uapi {
146     // M4_STRUCT_DESC("Info", "normal_ui_style")
147     mDehazeAttrInfoV11_t Info;
148 #if defined(ISP_HW_V21) || defined(ISP_HW_V30)
149     // M4_STRUCT_DESC("stManual", "normal_ui_style")
150     mDehazeAttrV11_t stManual;
151 #endif
152 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
153     // M4_STRUCT_DESC("stManual", "normal_ui_style")
154     mDehazeAttrV12_t stManual;
155 #endif
156 } adehaze_uapi_t;
157 
158 typedef struct __aiq_scene {
159     // M4_STRING_DESC("main_scene", M4_SIZE(1,1), M4_RANGE(0, 32), "normal", M4_DYNAMIC(0))
160     char* main_scene;
161     // M4_STRING_DESC("sub_scene", M4_SIZE(1,1), M4_RANGE(0, 32), "day", M4_DYNAMIC(0))
162     char* sub_scene;
163 } aiq_scene_t;
164 
165 typedef struct __work_mode {
166     // M4_ENUM_DESC("mode", "rk_aiq_working_mode_t", "RK_AIQ_WORKING_MODE_NORMAL");
167     rk_aiq_working_mode_t mode;
168 } work_mode_t;
169 
170 typedef struct __aiq_sysctl_desc {
171     // M4_STRUCT_DESC("scene", "normal_ui_style")
172     aiq_scene_t scene;
173     // M4_STRUCT_DESC("work_mode", "normal_ui_style")
174     work_mode_t work_mode;
175 } RkaiqSysCtl_t;
176 
177 #if ISP_HW_V21
178 typedef struct __aiq_measure_info {
179     // M4_STRUCT_DESC("ae_hwstats", "normal_ui_style")
180     uapi_ae_hwstats_t ae_hwstats;
181     // M4_STRUCT_DESC("wb_log", "normal_ui_style")
182     uapi_wbV21_log_t wb_log;
183 } aiq_measure_info_t;
184 #elif ISP_HW_V30
185 typedef struct __aiq_measure_info {
186     // M4_STRUCT_DESC("ae_hwstats", "normal_ui_style")
187     uapi_ae_hwstats_t ae_hwstats;
188     // M4_STRUCT_DESC("wb_log", "normal_ui_style")
189     uapi_wbV30_log_t wb_log;
190 } aiq_measure_info_t;
191 
192 #elif defined(ISP_HW_V32) || defined(ISP_HW_V30) || defined(ISP_HW_V32_LITE)
193 typedef struct __aiq_measure_info {
194     // M4_STRUCT_DESC("ae_hwstats", "normal_ui_style")
195     uapi_ae_hwstats_t ae_hwstats;
196     // M4_STRUCT_DESC("wb_log", "normal_ui_style")
197     uapi_wbV32_log_t wb_log;
198 } aiq_measure_info_t;
199 #endif
200 
201 typedef struct __ablc_uapi_manual {
202     // M4_ENUM_DESC("OPMOde", "RKAiqOPMode_uapi_t","RK_AIQ_OP_MODE_AUTO")
203     RKAiqOPMode_t AblcOPMode;
204 
205 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
206     // M4_STRUCT_DESC("blc0_para", "normal_ui_style")
207     AblcSelect_V32_t blc0_para;
208 
209     // M4_STRUCT_DESC("blc1_para", "normal_ui_style")
210     AblcSelect_V32_t blc1_para;
211 
212     // M4_STRUCT_DESC("blc_ob_para", "normal_ui_style")
213     AblcOBSelect_V32_t blc_ob_para;
214 #elif defined(ISP_HW_V30)
215     // M4_STRUCT_DESC("bls0", "normal_ui_style")
216     AblcSelect_t bls0;
217     // M4_STRUCT_DESC("bls1", "normal_ui_style")
218     AblcSelect_t bls1;
219 #endif
220 } ablc_uapi_manual_t;
221 
222 typedef struct __ablc_uapi_info {
223     // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0")
224     int iso;
225 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
226     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
227     AblcExpInfo_V32_t expo_info;
228 #elif defined(ISP_HW_V30)
229     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
230     AblcExpInfo_t expo_info;
231 #endif
232 } ablc_uapi_info_t;
233 
234 typedef struct __ablc_uapi {
235 #if defined(ISP_HW_V32) || defined(ISP_HW_V30) || defined(ISP_HW_V32_LITE)
236     // M4_STRUCT_DESC("manual", "normal_ui_style")
237     ablc_uapi_manual_t manual;
238     // M4_STRUCT_DESC("info", "normal_ui_style")
239     ablc_uapi_info_t info;
240 #endif
241 } ablc_uapi_t;
242 
243 typedef struct __abayertnr_uapi_manual {
244     // M4_ENUM_DESC("OPMode", "RKAiqOPMode_uapi_t","RK_AIQ_OP_MODE_AUTO")
245     RKAiqOPMode_t AbayertnrOpMode;
246 #if defined(ISP_HW_V32_LITE)
247     // M4_STRUCT_DESC("manual_v23L", "normal_ui_style")
248     RK_Bayertnr_Param_V23L_Select_t manual_v23L;
249 #elif defined(ISP_HW_V32)
250     // M4_STRUCT_DESC("manual_v23", "normal_ui_style")
251     RK_Bayertnr_Params_V23_Select_t manual_v23;
252 #elif defined(ISP_HW_V30)
253     // M4_STRUCT_DESC("manual_v2", "normal_ui_style")
254     RK_Bayertnr_Params_V2_Select_t manual_v2;
255 #endif
256 } abayertnr_uapi_manual_t;
257 
258 typedef struct __abayertnr_uapi_info {
259     // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0")
260     int iso;
261 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
262     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
263     Abayertnr_ExpInfo_V23_t expo_info;
264 #elif defined(ISP_HW_V30)
265     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
266     Abayertnr_ExpInfo_V2_t expo_info;
267 #endif
268 } abayertnr_uapi_info_t;
269 
270 typedef struct __abayertnr_uapi {
271 #if defined(ISP_HW_V32) || defined(ISP_HW_V30) || defined(ISP_HW_V32_LITE)
272     // M4_STRUCT_DESC("manual", "normal_ui_style")
273     abayertnr_uapi_manual_t manual;
274     // M4_STRUCT_DESC("info", "normal_ui_style")
275     abayertnr_uapi_info_t info;
276 #endif
277 } abayertnr_uapi_t;
278 
279 typedef struct __abayer2dnr_uapi_manual {
280     // M4_ENUM_DESC("OPMode", "RKAiqOPMode_uapi_t","RK_AIQ_OP_MODE_AUTO")
281     RKAiqOPMode_t Abayer2dnrOpMode;
282 
283 #if defined(ISP_HW_V32)
284     // M4_STRUCT_DESC("manual_v23", "normal_ui_style")
285     RK_Bayer2dnrV23_Params_Select_t manual_v23;
286 #elif defined(ISP_HW_V30)
287     // M4_STRUCT_DESC("manual_v2", "normal_ui_style")
288     RK_Bayer2dnr_Params_V2_Select_t manual_v2;
289 #endif
290 } abayer2dnr_uapi_manual_t;
291 
292 typedef struct __abayer2dnr_uapi_info {
293     // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0")
294     int iso;
295 #if defined(ISP_HW_V32)
296     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
297     Abayer2dnr_ExpInfo_V23_t expo_info;
298 #elif defined(ISP_HW_V30)
299     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
300     Abayer2dnr_ExpInfo_V2_t expo_info;
301 #endif
302 } abayer2dnr_uapi_info_t;
303 
304 
305 typedef struct __abayer2dnr_uapi {
306 #if defined(ISP_HW_V32) || defined(ISP_HW_V30)
307     // M4_STRUCT_DESC("manual", "normal_ui_style")
308     abayer2dnr_uapi_manual_t manual;
309     // M4_STRUCT_DESC("info", "normal_ui_style")
310     abayer2dnr_uapi_info_t info;
311 
312 #endif
313 } abayer2dnr_uapi_t;
314 
315 typedef struct __aynr_uapi_manual {
316     // M4_ENUM_DESC("OPMode", "RKAiqOPMode_uapi_t","RK_AIQ_OP_MODE_AUTO")
317     RKAiqOPMode_t AynrOpMode;
318 
319 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
320     // M4_STRUCT_DESC("manual_v22", "normal_ui_style")
321     RK_YNR_Params_V22_Select_t manual_v22;
322 #elif defined(ISP_HW_V30)
323     // M4_STRUCT_DESC("manual_v3", "normal_ui_style")
324     RK_YNR_Params_V3_Select_t manual_v3;
325 #endif
326 } aynr_uapi_manual_t;
327 
328 typedef struct __aynr_uapi_info {
329     // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0")
330     int iso;
331 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
332     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
333     Aynr_ExpInfo_V22_t expo_info;
334 #elif defined(ISP_HW_V30)
335     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
336     Aynr_ExpInfo_V3_t expo_info;
337 #endif
338 } aynr_uapi_info_t;
339 
340 typedef struct __aynr_uapi {
341 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)|| defined(ISP_HW_V30)
342     // M4_STRUCT_DESC("manual", "normal_ui_style")
343     aynr_uapi_manual_t manual;
344     // M4_STRUCT_DESC("info", "normal_ui_style")
345     aynr_uapi_info_t info;
346 
347 #endif
348 } aynr_uapi_t;
349 
350 typedef struct __acnr_uapi_manual {
351     // M4_ENUM_DESC("OPMode", "RKAiqOPMode_uapi_t","RK_AIQ_OP_MODE_AUTO")
352     RKAiqOPMode_t AcnrOpMode;
353 
354 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
355     // M4_STRUCT_DESC("manual_v30", "normal_ui_style")
356     RK_CNR_Params_V30_Select_t manual_v30;
357 #elif defined(ISP_HW_V30)
358     // M4_STRUCT_DESC("manual_v2", "normal_ui_style")
359     RK_CNR_Params_V2_Select_t manual_v2;
360 #endif
361 } acnr_uapi_manual_t;
362 
363 typedef struct __acnr_uapi_info {
364     // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0")
365     int iso;
366 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
367     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
368     AcnrV30_ExpInfo_t expo_info;
369 #elif defined(ISP_HW_V30)
370     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
371     AcnrV2_ExpInfo_t expo_info;
372 #endif
373 } acnr_uapi_info_t;
374 
375 
376 typedef struct __acnr_uapi {
377 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE) || defined(ISP_HW_V30)
378     // M4_STRUCT_DESC("manual", "normal_ui_style")
379     acnr_uapi_manual_t manual;
380     // M4_STRUCT_DESC("info", "normal_ui_style")
381     acnr_uapi_info_t info;
382 
383 #endif
384 } acnr_uapi_t;
385 
386 typedef struct __asharp_uapi_manual {
387     // M4_ENUM_DESC("OPMode", "RKAiqOPMode_uapi_t","RK_AIQ_OP_MODE_AUTO")
388     RKAiqOPMode_t AsharpOpMode;
389 
390 #if defined(ISP_HW_V32)
391     // M4_STRUCT_DESC("manual_v33", "normal_ui_style")
392     RK_SHARP_Params_V33_Select_t manual_v33;
393 #elif defined(ISP_HW_V32_LITE)
394     // M4_STRUCT_DESC("manual_v33Lite", "normal_ui_style")
395     RK_SHARP_Params_V33LT_Select_t manual_v33Lite;
396 #elif defined(ISP_HW_V30)
397     // M4_STRUCT_DESC("manual_v4", "normal_ui_style")
398     RK_SHARP_Params_V4_Select_t manual_v4;
399 #endif
400 } asharp_uapi_manual_t;
401 
402 typedef struct __asharp_uapi_info {
403     // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0")
404     int iso;
405 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
406     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
407     Asharp_ExpInfo_V33_t expo_info;
408 #elif defined(ISP_HW_V30)
409     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
410     Asharp4_ExpInfo_t expo_info;
411 #endif
412 } asharp_uapi_info_t;
413 
414 
415 typedef struct __asharp_uapi {
416 #if defined(ISP_HW_V32_LITE) || defined(ISP_HW_V32) || defined(ISP_HW_V30)
417     // M4_STRUCT_DESC("manual", "normal_ui_style")
418     asharp_uapi_manual_t manual;
419     // M4_STRUCT_DESC("info", "normal_ui_style")
420     asharp_uapi_info_t info;
421 #endif
422 } asharp_uapi_t;
423 
424 typedef struct __again_uapi_manual {
425     // M4_ENUM_DESC("OPMode", "RKAiqOPMode_uapi_t","RK_AIQ_OP_MODE_AUTO")
426     RKAiqOPMode_t AgainOpMode;
427 
428 #if defined(ISP_HW_V32_LITE) || defined(ISP_HW_V32) || defined(ISP_HW_V30)
429     // M4_STRUCT_DESC("manual_v2", "normal_ui_style")
430     RK_GAIN_Select_V2_t manual_v2;
431 #endif
432 } again_uapi_manual_t;
433 
434 typedef struct __again_uapi_info {
435     // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0")
436     int iso;
437 #if defined(ISP_HW_V32_LITE) || defined(ISP_HW_V32) || defined(ISP_HW_V30)
438     // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0")
439     Again_ExpInfo_V2_t expo_info;
440 #endif
441 } again_uapi_info_t;
442 
443 
444 typedef struct __again_uapi {
445 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE) || defined(ISP_HW_V30)
446     // M4_STRUCT_DESC("manual", "normal_ui_style")
447     again_uapi_manual_t manual;
448     // M4_STRUCT_DESC("info", "normal_ui_style")
449     again_uapi_info_t info;
450 #endif
451 } again_uapi_t;
452 
453 typedef struct __accm_uapi {
454     // M4_STRUCT_DESC("mode", "normal_ui_style")
455     uapi_wb_mode_t mode;
456     // M4_STRUCT_DESC("Info", "normal_ui_style", "0", "1")
457     rk_aiq_ccm_querry_info_t Info;
458 #if defined(ISP_HW_V20) || defined(ISP_HW_V21) || defined(ISP_HW_V30)
459     // M4_STRUCT_DESC("manual", "normal_ui_style")
460     rk_aiq_ccm_mccm_attrib_t stManual;
461 #endif
462 #if defined(ISP_HW_V32) || defined(ISP_HW_V32_LITE)
463     // M4_STRUCT_DESC("manual", "normal_ui_style")
464     rk_aiq_ccm_mccm_attrib_v2_t stManual;
465 #endif
466 } accm_uapi_t;
467 
468 typedef struct __acsm_uapi {
469     // M4_STRUCT_DESC("manual", "normal_ui_style")
470     Csm_Param_t manual;
471 } acsm_uapi_t;
472 
473 typedef struct __acgc_uapi {
474     // M4_STRUCT_DESC("manual", "normal_ui_style")
475     Cgc_Param_t manual;
476 } acgc_uapi_t;
477 typedef struct __custom_af_uapi {
478     // M4_STRUCT_DESC("custom_af_res", "normal_ui_style")
479     rk_tool_customAf_res_t custom_af_res;
480 } custom_af_uapi_t;
481 
482 
483 typedef struct __a3dlut_uapi {
484     // M4_STRUCT_DESC("mode", "normal_ui_style")
485     uapi_wb_mode_t mode;
486     // M4_STRUCT_DESC("manual", "normal_ui_style")
487     rk_aiq_lut3d_mlut3d_attrib_t manual;
488 } a3dlut_uapi_t;
489 
490 typedef struct __agic_uapi {
491     // M4_STRUCT_DESC("attr", "normal_ui_style")
492 #if RKAIQ_HAVE_GIC_V1
493     rkaiq_gic_v1_api_attr_t attr;
494 #endif
495 #if RKAIQ_HAVE_GIC_V2
496     // M4_STRUCT_DESC("attr", "normal_ui_style")
497     rkaiq_gic_v2_api_attr_t attr;
498 #endif
499 } agic_uapi_t;
500 
501 typedef struct __aie_uapi {
502     // M4_STRUCT_DESC("attr", "normal_ui_style")
503     aie_attrib_t attr;
504 } aie_uapi_t;
505 
506 typedef struct __acp_uapi {
507     // M4_STRUCT_DESC("attr", "normal_ui_style")
508     acp_attrib_t attr;
509 } acp_uapi_t;
510 
511 typedef struct __alsc_uapi {
512     // M4_STRUCT_DESC("manual", "normal_ui_style")
513     rk_aiq_lsc_table_t manual;
514 } alsc_uapi_t;
515 
516 typedef struct __camgroup_uapi {
517     // M4_NUMBER_DESC("current_index", "u8", M4_RANGE(0, 8), "0", M4_DIGIT(0), M4_HIDE(1))
518     uint8_t current_index;
519 } camgroup_uapi_t;
520 
521 typedef struct __aiq_uapi_t {
522     // M4_STRUCT_DESC("ae_uapi", "normal_ui_style")
523     ae_uapi_t ae_uapi;
524     // M4_STRUCT_DESC("awb_uapi", "normal_ui_style")
525     awb_uapi_t awb_uapi;
526     // M4_STRUCT_DESC("amerge_uapi", "normal_ui_style")
527     amerge_uapi_t amerge_uapi;
528 #if defined(ISP_HW_V20)
529     // M4_STRUCT_DESC("atmo_uapi", "normal_ui_style")
530     atmo_uapi_t atmo_uapi;
531 #else
532     // M4_STRUCT_DESC("adrc_uapi", "normal_ui_style")
533     adrc_uapi_t adrc_uapi;
534 #endif
535     // M4_STRUCT_DESC("agamma_uapi", "normal_ui_style")
536     agamma_uapi_t agamma_uapi;
537     // M4_STRUCT_DESC("adehaze_uapi", "normal_ui_style")
538     adehaze_uapi_t adehaze_uapi;
539     // M4_STRUCT_DESC("SystemCtl", "normal_ui_style")
540     RkaiqSysCtl_t system;
541     // M4_STRUCT_DESC("adpcc_manual", "normal_ui_style")
542     Adpcc_Manual_Attr_t adpcc_manual;
543     // M4_STRUCT_DESC("a3dlut_uapi", "normal_ui_style")
544     a3dlut_uapi_t a3dlut_uapi;
545 #if !defined(ISP_HW_V32_LITE)
546     // M4_STRUCT_DESC("agic_uapi", "normal_ui_style")
547     agic_uapi_t agic_uapi;
548 #endif
549     // M4_STRUCT_DESC("aie_uapi", "normal_ui_style")
550     aie_uapi_t aie_uapi;
551     // M4_STRUCT_DESC("acp_uapi", "normal_ui_style")
552     acp_uapi_t acp_uapi;
553     // M4_STRUCT_DESC("alsc_uapi", "normal_ui_style")
554     alsc_uapi_t alsc_uapi;
555     // M4_STRUCT_DESC("custom_af_uapi", "normal_ui_style")
556     custom_af_uapi_t custom_af_uapi;
557 #if defined(ISP_HW_V30)
558     // M4_STRUCT_DESC("camgroup_uapi", "normal_ui_style", M4_HIDE(1))
559     camgroup_uapi_t camgroup_uapi;
560 #endif
561     // M4_STRUCT_DESC("ablc_uapi_t", "normal_ui_style")
562     ablc_uapi_t ablc_uapi;
563     // M4_STRUCT_DESC("abayertnr_uapi", "normal_ui_style")
564     abayertnr_uapi_t abayertnr_uapi;
565 #if !defined(ISP_HW_V32_LITE)
566     // M4_STRUCT_DESC("abayer2dnr_uapi", "normal_ui_style")
567     abayer2dnr_uapi_t abayer2dnr_uapi;
568 #endif
569     // M4_STRUCT_DESC("aynr_uapi", "normal_ui_style")
570     aynr_uapi_t aynr_uapi;
571     // M4_STRUCT_DESC("acnr_uapi", "normal_ui_style")
572     acnr_uapi_t acnr_uapi;
573     // M4_STRUCT_DESC("asharp_uapi", "normal_ui_style")
574     asharp_uapi_t asharp_uapi;
575     // M4_STRUCT_DESC("again_uapi", "normal_ui_style")
576     again_uapi_t again_uapi;
577 #if !defined (ISP_HW_V20)
578     // M4_STRUCT_DESC("measure_info", "normal_ui_style",M4_HIDE(1))
579     aiq_measure_info_t measure_info;
580 #endif
581     // M4_STRUCT_DESC("accm_uapi", "normal_ui_style")
582     accm_uapi_t accm_uapi;
583     // M4_STRUCT_DESC("acsm_uapi", "normal_ui_style")
584     acsm_uapi_t acsm_uapi;
585 #if !defined(ISP_HW_V20)
586     // M4_STRUCT_DESC("acgc_uapi", "normal_ui_style")
587     acgc_uapi_t acgc_uapi;
588 #endif
589 } RkaiqUapi_t;
590 
591 #ifdef __cplusplus
592 }
593 #endif
594 
595 #endif  /*___RK_AIQ_UAPITYPES_H__*/
596