1 /* 2 * agic_head.h 3 * 4 * Copyright (c) 2021 Rockchip Corporation 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 */ 19 20 #ifndef __CALIBDBV2_AGIC_HEAD_H__ 21 #define __CALIBDBV2_AGIC_HEAD_H__ 22 23 #include "rk_aiq_comm.h" 24 25 RKAIQ_BEGIN_DECLARE 26 27 typedef struct Gic_setting_v20_s { 28 // M4_ARRAY_DESC("ISO", "f32", M4_SIZE(1,100), M4_RANGE(0,10000000), "50",M4_DIGIT(4), M4_DYNAMIC(1)) 29 float* ISO; 30 int ISO_len; 31 // M4_ARRAY_DESC("min_busy_thre", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "160",M4_DIGIT(4), M4_DYNAMIC(1)) 32 float* min_busy_thre; 33 int min_busy_thre_len; 34 // M4_ARRAY_DESC("min_grad_thr1", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "32",M4_DIGIT(4), M4_DYNAMIC(1)) 35 float* min_grad_thr1; 36 int min_grad_thr1_len; 37 // M4_ARRAY_DESC("min_grad_thr2", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "32",M4_DIGIT(4), M4_DYNAMIC(1)) 38 float* min_grad_thr2; 39 int min_grad_thr2_len; 40 // M4_ARRAY_DESC("k_grad1", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "5",M4_DIGIT(4), M4_DYNAMIC(1)) 41 float* k_grad1; 42 int k_grad1_len; 43 // M4_ARRAY_DESC("k_grad2", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "1",M4_DIGIT(4), M4_DYNAMIC(1)) 44 float* k_grad2; 45 int k_grad2_len; 46 // M4_ARRAY_DESC("gb_thre", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "7",M4_DIGIT(4), M4_DYNAMIC(1)) 47 float* gb_thre; 48 int gb_thre_len; 49 // M4_ARRAY_DESC("maxCorV", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "40",M4_DIGIT(4), M4_DYNAMIC(1)) 50 float* maxCorV; 51 int maxCorV_len; 52 // M4_ARRAY_DESC("maxCorVboth", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "8",M4_DIGIT(4), M4_DYNAMIC(1)) 53 float* maxCorVboth; 54 int maxCorVboth_len; 55 // M4_ARRAY_DESC("dark_thre", "f32", M4_SIZE(1,100), M4_RANGE(0,2047), "120",M4_DIGIT(4), M4_DYNAMIC(1)) 56 float* dark_thre; 57 int dark_thre_len; 58 // M4_ARRAY_DESC("dark_threHi", "f32", M4_SIZE(1,100), M4_RANGE(0,2047), "240",M4_DIGIT(4), M4_DYNAMIC(1)) 59 float* dark_threHi; 60 int dark_threHi_len; 61 // M4_ARRAY_DESC("k_grad1_dark", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "6",M4_DIGIT(4), M4_DYNAMIC(1)) 62 float* k_grad1_dark; 63 int k_grad1_dark_len; 64 // M4_ARRAY_DESC("k_grad2_dark", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "1",M4_DIGIT(4), M4_DYNAMIC(1)) 65 float* k_grad2_dark; 66 int k_grad2_dark_len; 67 // M4_ARRAY_DESC("min_grad_thr_dark1", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "64",M4_DIGIT(4), M4_DYNAMIC(1)) 68 float* min_grad_thr_dark1; 69 int min_grad_thr_dark1_len; 70 // M4_ARRAY_DESC("min_grad_thr_dark2", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "32",M4_DIGIT(4), M4_DYNAMIC(1)) 71 float* min_grad_thr_dark2; 72 int min_grad_thr_dark2_len; 73 // M4_ARRAY_DESC("noiseCurve_0", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 74 float* noiseCurve_0; 75 int noiseCurve_0_len; 76 // M4_ARRAY_DESC("noiseCurve_1", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 77 float* noiseCurve_1; 78 int noiseCurve_1_len; 79 // M4_ARRAY_DESC("GValueLimitLo", "f32", M4_SIZE(1,100), M4_RANGE(0,4095), "1280",M4_DIGIT(4), M4_DYNAMIC(1)) 80 float* GValueLimitLo; 81 int GValueLimitLo_len; 82 // M4_ARRAY_DESC("GValueLimitHi", "f32", M4_SIZE(1,100), M4_RANGE(0,4095), "1760",M4_DIGIT(4), M4_DYNAMIC(1)) 83 float* GValueLimitHi; 84 int GValueLimitHi_len; 85 // M4_ARRAY_DESC("textureStrength", "f32", M4_SIZE(1,100), M4_RANGE(0,2), "1",M4_DIGIT(4), M4_DYNAMIC(1)) 86 float* textureStrength; 87 int textureStrength_len; 88 // M4_ARRAY_DESC("ScaleLo", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 89 float* ScaleLo; 90 int ScaleLo_len; 91 // M4_ARRAY_DESC("ScaleHi", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 92 float* ScaleHi; 93 int ScaleHi_len; 94 // M4_ARRAY_DESC("globalStrength", "f32", M4_SIZE(1,100), M4_RANGE(0,2), "1",M4_DIGIT(4), M4_DYNAMIC(1)) 95 float* globalStrength; 96 int globalStrength_len; 97 // M4_ARRAY_DESC("noise_coea", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 98 float* noise_coea; 99 int noise_coea_len; 100 // M4_ARRAY_DESC("noise_coeb", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 101 float* noise_coeb; 102 int noise_coeb_len; 103 // M4_ARRAY_DESC("diff_clip", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 104 float* diff_clip; 105 int diff_clip_len; 106 } Gic_setting_v20_t; 107 108 typedef struct Gic_setting_v21_s { 109 // M4_ARRAY_DESC("ISO", "f32", M4_SIZE(1,100), M4_RANGE(0,10000000), "50",M4_DIGIT(4), M4_DYNAMIC(1)) 110 float* ISO; 111 int ISO_len; 112 // M4_ARRAY_DESC("min_busy_thre", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "160",M4_DIGIT(4), M4_DYNAMIC(1)) 113 float* min_busy_thre; 114 int min_busy_thre_len; 115 // M4_ARRAY_DESC("min_grad_thr1", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "32",M4_DIGIT(4), M4_DYNAMIC(1)) 116 float* min_grad_thr1; 117 int min_grad_thr1_len; 118 // M4_ARRAY_DESC("min_grad_thr2", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "32",M4_DIGIT(4), M4_DYNAMIC(1)) 119 float* min_grad_thr2; 120 int min_grad_thr2_len; 121 // M4_ARRAY_DESC("k_grad1", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "5",M4_DIGIT(4), M4_DYNAMIC(1)) 122 float* k_grad1; 123 int k_grad1_len; 124 // M4_ARRAY_DESC("k_grad2", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "1",M4_DIGIT(4), M4_DYNAMIC(1)) 125 float* k_grad2; 126 int k_grad2_len; 127 // M4_ARRAY_DESC("gb_thre", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "7",M4_DIGIT(4), M4_DYNAMIC(1)) 128 float* gb_thre; 129 int gb_thre_len; 130 // M4_ARRAY_DESC("maxCorV", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "40",M4_DIGIT(4), M4_DYNAMIC(1)) 131 float* maxCorV; 132 int maxCorV_len; 133 // M4_ARRAY_DESC("maxCorVboth", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "8",M4_DIGIT(4), M4_DYNAMIC(1)) 134 float* maxCorVboth; 135 int maxCorVboth_len; 136 // M4_ARRAY_DESC("dark_thre", "f32", M4_SIZE(1,100), M4_RANGE(0,2047), "120",M4_DIGIT(4), M4_DYNAMIC(1)) 137 float* dark_thre; 138 int dark_thre_len; 139 // M4_ARRAY_DESC("dark_threHi", "f32", M4_SIZE(1,100), M4_RANGE(0,2047), "240",M4_DIGIT(4), M4_DYNAMIC(1)) 140 float* dark_threHi; 141 int dark_threHi_len; 142 // M4_ARRAY_DESC("k_grad1_dark", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "6",M4_DIGIT(4), M4_DYNAMIC(1)) 143 float* k_grad1_dark; 144 int k_grad1_dark_len; 145 // M4_ARRAY_DESC("k_grad2_dark", "f32", M4_SIZE(1,100), M4_RANGE(0,15), "1",M4_DIGIT(4), M4_DYNAMIC(1)) 146 float* k_grad2_dark; 147 int k_grad2_dark_len; 148 // M4_ARRAY_DESC("min_grad_thr_dark1", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "64",M4_DIGIT(4), M4_DYNAMIC(1)) 149 float* min_grad_thr_dark1; 150 int min_grad_thr_dark1_len; 151 // M4_ARRAY_DESC("min_grad_thr_dark2", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "32",M4_DIGIT(4), M4_DYNAMIC(1)) 152 float* min_grad_thr_dark2; 153 int min_grad_thr_dark2_len; 154 // M4_ARRAY_DESC("noiseCurve_0", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 155 float* noiseCurve_0; 156 int noiseCurve_0_len; 157 // M4_ARRAY_DESC("noiseCurve_1", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 158 float* noiseCurve_1; 159 int noiseCurve_1_len; 160 // M4_ARRAY_DESC("NoiseScale", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 161 float* NoiseScale; 162 int NoiseScale_len; 163 // M4_ARRAY_DESC("NoiseBase", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 164 float* NoiseBase; 165 int NoiseBase_len; 166 // M4_ARRAY_DESC("globalStrength", "f32", M4_SIZE(1,100), M4_RANGE(0,2), "1",M4_DIGIT(4), M4_DYNAMIC(1)) 167 float* globalStrength; 168 int globalStrength_len; 169 // M4_ARRAY_DESC("diff_clip", "f32", M4_SIZE(1,100), M4_RANGE(0,1023), "0",M4_DIGIT(4), M4_DYNAMIC(1)) 170 float* diff_clip; 171 int diff_clip_len; 172 } Gic_setting_v21_t; 173 174 typedef struct CalibDbGicV20_s { 175 // M4_BOOL_DESC("enable", "0") 176 bool enable; 177 // M4_BOOL_DESC("edge_en", "0") 178 bool edge_en; 179 // M4_BOOL_DESC("noise_cut_en", "0") 180 bool noise_cut_en; 181 // M4_NUMBER_DESC("gr_ration", "u8", M4_RANGE(0,3), "0", M4_DIGIT(0)) 182 unsigned char gr_ration; 183 // M4_ARRAY_TABLE_DESC("GicData", "array_table_ui","none") 184 Gic_setting_v20_t GicData; 185 } CalibDbGicV20_t; 186 187 typedef struct CalibDbV2_Gic_V20_s { 188 // M4_STRUCT_DESC("GicTuningPara", "normal_ui_style") 189 CalibDbGicV20_t GicTuningPara; 190 } CalibDbV2_Gic_V20_t; 191 192 typedef struct CalibDbGicV21_s { 193 // M4_BOOL_DESC("enable", "0") 194 bool enable; 195 // M4_NUMBER_DESC("gr_ration", "u8", M4_RANGE(0,3), "0", M4_DIGIT(0)) 196 unsigned char gr_ration; 197 // M4_ARRAY_TABLE_DESC("GicData", "array_table_ui", "none") 198 Gic_setting_v21_t GicData; 199 } CalibDbGicV21_t; 200 201 typedef struct CalibDbV2_Gic_V21_s { 202 // M4_STRUCT_DESC("GicTuningPara", "normal_ui_style") 203 CalibDbGicV21_t GicTuningPara; 204 } CalibDbV2_Gic_V21_t; 205 206 207 RKAIQ_END_DECLARE 208 209 #endif 210