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