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