hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
/*
 *  Copyright (c) 2019 Rockchip Corporation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
 
#include "adehaze_xml2json.h"
 
void convertDehazeCalib2CalibV2(CamCalibDbContext_t *calibv1, CamCalibDbV2Context_t *calibv2) {
 
    //len
    CalibDbV2_dehaze_V20_t* calibv2_adehaze_calib_V20 =
        (CalibDbV2_dehaze_V20_t*)(CALIBDBV2_GET_MODULE_PTR(calibv2, adehaze_calib_v20));
    if (calibv2_adehaze_calib_V20) {
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len = 9;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_min_th_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_max_th_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.yhist_th_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.yblk_th_len = 9;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dark_th_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.bright_max_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.bright_min_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.wt_max_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_max_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_min_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_max_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_base_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_off_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_wt_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_air_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_tmax_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_thed_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_weitcur_len = 9;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_weitcur_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_thed_len = calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO_len;
 
        calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.EnhanceData.ISO_len = 9;
        calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.EnhanceData.enhance_value_len = calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.EnhanceData.ISO_len;
 
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO_len = 9;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_gratio_len = calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_th_off_len = calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_k_len = calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_min_len = calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_scale_len = calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO_len;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.cfg_gratio_len = calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO_len;
    }
 
    CalibDbV2_dehaze_V21_t* calibv2_adehaze_calib_V21 =
        (CalibDbV2_dehaze_V21_t*)(CALIBDBV2_GET_MODULE_PTR(calibv2, adehaze_calib_v21));
    if (calibv2_adehaze_calib_V21) {
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len = 9;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_min_th_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_max_th_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.yhist_th_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.yblk_th_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dark_th_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bright_max_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bright_min_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.wt_max_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.air_max_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.air_min_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_max_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_base_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_off_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_wt_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_air_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_tmax_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_weitcur_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bf_weight_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.range_sigma_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.space_sigma_pre_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.space_sigma_cur_len = calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv_len;
 
        calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.EnvLv_len = 9;
        calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.enhance_value_len = calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.enhance_chroma_len = calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.EnvLv_len;
 
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv_len = 9;
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_gratio_len = calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_th_off_len = calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_k_len = calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_min_len = calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_scale_len = calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv_len;
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.cfg_gratio_len = calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv_len;
    }
 
    //malloc
    if (calibv2_adehaze_calib_V20) {
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_min_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_max_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.yhist_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.yblk_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dark_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.bright_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.bright_min = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.wt_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_min = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_base = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_off = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_wt = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_air = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_tmax = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_thed = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_weitcur = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_weitcur = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_thed = (float *) malloc(sizeof(float) * 9);
 
        calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.EnhanceData.ISO = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.EnhanceData.enhance_value = (float *) malloc(sizeof(float) * 9);
 
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_gratio = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_th_off = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_k = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_min = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_scale = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.cfg_gratio = (float *) malloc(sizeof(float) * 9);
    }
 
    if (calibv2_adehaze_calib_V21) {
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_min_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_max_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.yhist_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.yblk_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dark_th = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bright_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bright_min = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.wt_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.air_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.air_min = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_max = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_base = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_off = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_wt = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_air = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_tmax = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_weitcur = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bf_weight = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.range_sigma = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.space_sigma_pre = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.space_sigma_cur = (float *) malloc(sizeof(float) * 9);
 
        calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.EnvLv = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.enhance_value = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.enhance_chroma = (float *) malloc(sizeof(float) * 9);
 
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_gratio = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_th_off = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_k = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_min = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_scale = (float *) malloc(sizeof(float) * 9);
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.cfg_gratio = (float *) malloc(sizeof(float) * 9);
    }
 
    //dehaze v20
    if (CHECK_ISP_HW_V20()) {
        CalibDb_Dehaze_t* calibv1_dehaze_isp20 =
            (CalibDb_Dehaze_t*)CALIBDB_GET_MODULE_PTR((void*)calibv1, dehaze);
        calibv2_adehaze_calib_V20->DehazeTuningPara.Enable = calibv1_dehaze_isp20->calib_v20[0].en ? true : false;
        calibv2_adehaze_calib_V20->DehazeTuningPara.cfg_alpha = calibv1_dehaze_isp20->calib_v20[0].cfg_alpha;
        calibv2_adehaze_calib_V20->DehazeTuningPara.ByPassThr = 0;
        //dehaze
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.en = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.en ? true : false;
        for(int i = 0; i < 9; i++) {
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.ISO[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.iso[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_min_th[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.dc_min_th[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_max_th[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.dc_max_th[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.yhist_th[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.yhist_th[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.yblk_th[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.yblk_th[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dark_th[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.dark_th[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.bright_max[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.bright_max[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.bright_min[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.bright_min[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.wt_max[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.wt_max[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_max[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.air_max[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_min[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.air_min[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_base[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.tmax_base[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_off[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.tmax_off[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.tmax_max[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.tmax_max[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_wt[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.cfg_wt[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_air[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.cfg_air[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.cfg_tmax[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.cfg_tmax[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_thed[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.dc_thed[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.dc_weitcur[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.dc_weitcur[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_thed[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.air_thed[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.DehazeData.air_weitcur[i] = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.air_weitcur[i];
        }
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.stab_fnum = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.IIR_setting.stab_fnum;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.sigma = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.IIR_setting.sigma;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.wt_sigma = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.IIR_setting.wt_sigma;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.air_sigma = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.IIR_setting.air_sigma;
        calibv2_adehaze_calib_V20->DehazeTuningPara.dehaze_setting.tmax_sigma = calibv1_dehaze_isp20->calib_v20[0].dehaze_setting.IIR_setting.tmax_sigma;
        //enhance
        calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.en = calibv1_dehaze_isp20->calib_v20[0].enhance_setting.en ? true : false;
        for(int i = 0; i < 9; i++) {
            calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.EnhanceData.ISO[i] = calibv1_dehaze_isp20->calib_v20[0].enhance_setting.iso[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.enhance_setting.EnhanceData.enhance_value[i] = calibv1_dehaze_isp20->calib_v20[0].enhance_setting.enhance_value[i];
        }
        //hist
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.en = calibv1_dehaze_isp20->calib_v20[0].hist_setting.en ? true : false;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.hist_para_en = calibv1_dehaze_isp20->calib_v20[0].hist_setting.hist_para_en[0] ? true : false;
        calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.hist_channel = calibv1_dehaze_isp20->calib_v20[0].hist_setting.hist_channel[0] ? true : false;
        for(int i = 0; i < 9; i++) {
            calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.ISO[i] = calibv1_dehaze_isp20->calib_v20[0].hist_setting.iso[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_gratio[i] = calibv1_dehaze_isp20->calib_v20[0].hist_setting.hist_gratio[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_th_off[i] = calibv1_dehaze_isp20->calib_v20[0].hist_setting.hist_th_off[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_k[i] = calibv1_dehaze_isp20->calib_v20[0].hist_setting.hist_k[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_min[i] = calibv1_dehaze_isp20->calib_v20[0].hist_setting.hist_min[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.hist_scale[i] = calibv1_dehaze_isp20->calib_v20[0].hist_setting.hist_scale[i];
            calibv2_adehaze_calib_V20->DehazeTuningPara.hist_setting.HistData.cfg_gratio[i] = calibv1_dehaze_isp20->calib_v20[0].hist_setting.cfg_gratio[i];
        }
    }
 
    //dehaze v21
    if (CHECK_ISP_HW_V21()) {
        CalibDb_Dehaze_Isp21_t* calibv1_dehaze_isp21 =
            (CalibDb_Dehaze_Isp21_t*)CALIBDB_GET_MODULE_PTR((void*)calibv1, dehaze);
        float EnvLv[9] = {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 0.9, 1};
        calibv2_adehaze_calib_V21->DehazeTuningPara.Enable = calibv1_dehaze_isp21->calib_v21[0].en ? true : false;
        calibv2_adehaze_calib_V21->DehazeTuningPara.cfg_alpha = calibv1_dehaze_isp21->calib_v21[0].cfg_alpha;
        calibv2_adehaze_calib_V21->DehazeTuningPara.ByPassThr = 0;
        //dehaze
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.en = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.en ? true : false;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.air_lc_en = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.air_lc_en[0] ? true : false;
        for(int i = 0; i < 9; i++) {
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.EnvLv[i] = EnvLv[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_min_th[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.dc_min_th[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_max_th[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.dc_max_th[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.yhist_th[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.yhist_th[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.yblk_th[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.yblk_th[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dark_th[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.dark_th[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bright_max[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.bright_max[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bright_min[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.bright_min[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.wt_max[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.wt_max[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.air_max[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.air_max[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.air_min[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.air_min[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_base[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.tmax_base[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_off[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.tmax_off[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.tmax_max[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.tmax_max[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_wt[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.cfg_wt[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_air[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.cfg_air[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.cfg_tmax[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.cfg_tmax[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.dc_weitcur[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.dc_weitcur[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.bf_weight[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.bf_weight[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.range_sigma[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.range_sigma[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.space_sigma_pre[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.space_sigma_pre[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.DehazeData.space_sigma_cur[i] = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.space_sigma_cur[i];
        }
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.stab_fnum = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.IIR_setting.stab_fnum;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.sigma = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.IIR_setting.sigma;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.wt_sigma = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.IIR_setting.wt_sigma;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.air_sigma = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.IIR_setting.air_sigma;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.tmax_sigma = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.IIR_setting.tmax_sigma;
        calibv2_adehaze_calib_V21->DehazeTuningPara.dehaze_setting.pre_wet = calibv1_dehaze_isp21->calib_v21[0].dehaze_setting.IIR_setting.pre_wet;
        //enhance
        calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.en = calibv1_dehaze_isp21->calib_v21[0].enhance_setting.en ? true : false;
        for(int i = 0; i < 9; i++) {
            calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.EnvLv[i] = EnvLv[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.enhance_value[i] = calibv1_dehaze_isp21->calib_v21[0].enhance_setting.enhance_value[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.EnhanceData.enhance_chroma[i] = calibv1_dehaze_isp21->calib_v21[0].enhance_setting.enhance_chroma[i];
        }
        for(int i = 0; i < 17; i++)
            calibv2_adehaze_calib_V21->DehazeTuningPara.enhance_setting.enhance_curve[i] = calibv1_dehaze_isp21->calib_v21[0].enhance_setting.enhance_curve[i];
        //hist
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.en = calibv1_dehaze_isp21->calib_v21[0].hist_setting.en ? true : false;
        calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.hist_para_en = calibv1_dehaze_isp21->calib_v21[0].hist_setting.hist_para_en[0] ? true : false;
        for(int i = 0; i < 9; i++) {
            calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.EnvLv[i] = EnvLv[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_gratio[i] = calibv1_dehaze_isp21->calib_v21[0].hist_setting.hist_gratio[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_th_off[i] = calibv1_dehaze_isp21->calib_v21[0].hist_setting.hist_th_off[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_k[i] = calibv1_dehaze_isp21->calib_v21[0].hist_setting.hist_k[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_min[i] = calibv1_dehaze_isp21->calib_v21[0].hist_setting.hist_min[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.hist_scale[i] = calibv1_dehaze_isp21->calib_v21[0].hist_setting.hist_scale[i];
            calibv2_adehaze_calib_V21->DehazeTuningPara.hist_setting.HistData.cfg_gratio[i] = calibv1_dehaze_isp21->calib_v21[0].hist_setting.cfg_gratio[i];
        }
    }
 
}