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