xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/iq_parser/RkAiqCalibParser.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  *  Copyright (c) 2019 Rockchip Corporation
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Licensed under the Apache License, Version 2.0 (the "License");
5*4882a593Smuzhiyun  * you may not use this file except in compliance with the License.
6*4882a593Smuzhiyun  * You may obtain a copy of the License at
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  *      http://www.apache.org/licenses/LICENSE-2.0
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * Unless required by applicable law or agreed to in writing, software
11*4882a593Smuzhiyun  * distributed under the License is distributed on an "AS IS" BASIS,
12*4882a593Smuzhiyun  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4882a593Smuzhiyun  * See the License for the specific language governing permissions and
14*4882a593Smuzhiyun  * limitations under the License.
15*4882a593Smuzhiyun  *
16*4882a593Smuzhiyun  */
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #ifndef _RK_AIQ_CALIB_PARSER_H_
19*4882a593Smuzhiyun #define _RK_AIQ_CALIB_PARSER_H_
20*4882a593Smuzhiyun #include <string.h>
21*4882a593Smuzhiyun #include "tinyxml2.h"
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun #include "RkAiqCalibDbTypes.h"
24*4882a593Smuzhiyun #include "RkAiqCalibTag.h"
25*4882a593Smuzhiyun #include "xmltags.h"
26*4882a593Smuzhiyun #include "RkAiqCalibApi.h"
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun using namespace tinyxml2;
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun #if defined(_MSC_VER)
31*4882a593Smuzhiyun #define strcasecmp _stricmp
32*4882a593Smuzhiyun #define snprintf(buf,len, format,...) _snprintf_s(buf, len, len-1, format, __VA_ARGS__)
33*4882a593Smuzhiyun #endif
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun #if defined(__linux__)
38*4882a593Smuzhiyun #include "smartptr.h"
39*4882a593Smuzhiyun #include <xcam_common.h>
40*4882a593Smuzhiyun #include "xcam_log.h"
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #ifdef DCT_ASSERT
43*4882a593Smuzhiyun #undef DCT_ASSERT
44*4882a593Smuzhiyun #endif
45*4882a593Smuzhiyun #define DCT_ASSERT  assert
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun #elif defined(_WIN32)
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun #ifdef DCT_ASSERT
50*4882a593Smuzhiyun #undef DCT_ASSERT
51*4882a593Smuzhiyun #endif
52*4882a593Smuzhiyun #define DCT_ASSERT(x) if(!(x))return false
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun #define LOGI printf
55*4882a593Smuzhiyun #define LOGD printf
56*4882a593Smuzhiyun #define LOGW printf
57*4882a593Smuzhiyun #define LOGE printf
58*4882a593Smuzhiyun #define LOG1 printf
59*4882a593Smuzhiyun 
60*4882a593Smuzhiyun #endif
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun #define XML_PARSER_READ    0
63*4882a593Smuzhiyun #define XML_PARSER_WRITE   1
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun namespace RkCam {
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun class RkAiqCalibParser
69*4882a593Smuzhiyun {
70*4882a593Smuzhiyun private:
71*4882a593Smuzhiyun     typedef bool (RkAiqCalibParser::*parseCellContent)(const XMLElement*, void* param);
72*4882a593Smuzhiyun     typedef bool (RkAiqCalibParser::*parseCellContent2)(const XMLElement*, void* param, int index);
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun     // parse helper
75*4882a593Smuzhiyun     bool parseCellNoElement(const XMLElement* pelement, int noElements, int &RealNo);
76*4882a593Smuzhiyun     bool parseEntryCell(const XMLElement*, int, parseCellContent, void* param = NULL,
77*4882a593Smuzhiyun                         uint32_t cur_id = 0, uint32_t parent_id = 0);
78*4882a593Smuzhiyun     bool parseEntryCell2(const XMLElement*, int, parseCellContent2, void* param = NULL,
79*4882a593Smuzhiyun                          uint32_t cur_id = 0, uint32_t parent_id = 0);
80*4882a593Smuzhiyun     bool parseEntryCell3(XMLElement*, int, int, parseCellContent, void* param = NULL,
81*4882a593Smuzhiyun                          uint32_t cur_id = 0, uint32_t parent_id = 0);
82*4882a593Smuzhiyun     bool parseEntryCell4(XMLElement*, int, int, parseCellContent2, void* param = NULL,
83*4882a593Smuzhiyun                          uint32_t cur_id = 0, uint32_t parent_id = 0);
84*4882a593Smuzhiyun     // parse read/write control
85*4882a593Smuzhiyun     bool xmlParseReadWrite;
86*4882a593Smuzhiyun     char autoTabStr[128];
87*4882a593Smuzhiyun     int  autoTabIdx;
88*4882a593Smuzhiyun     void parseReadWriteCtrl(bool ctrl);
89*4882a593Smuzhiyun     void autoTabForward();
90*4882a593Smuzhiyun     void autoTabBackward();
91*4882a593Smuzhiyun 
92*4882a593Smuzhiyun     // parse Kit
93*4882a593Smuzhiyun     int ParseCharToHex(XmlTag* tag, uint32_t* reg_value);
94*4882a593Smuzhiyun     int ParseByteArray(const XMLNode *pNode, uint8_t* values, const int num);
95*4882a593Smuzhiyun     int ParseFloatArray(const XMLNode *pNode, float* values, const int num, int printAccuracy = 4);
96*4882a593Smuzhiyun     int ParseDoubleArray(const XMLNode *pNode, double* values, const int num);
97*4882a593Smuzhiyun     int ParseUintArray(const XMLNode *pNode, uint32_t* values, const int num);
98*4882a593Smuzhiyun     int ParseIntArray(const XMLNode *pNode, int32_t* values, const int num);
99*4882a593Smuzhiyun     int ParseUcharArray(const XMLNode *pNode, uint8_t* values, const int num);
100*4882a593Smuzhiyun     int ParseCharArray(const XMLNode *pNode, int8_t* values, const int num);
101*4882a593Smuzhiyun     int ParseUshortArray(const XMLNode *pNode, uint16_t* values, const int num);
102*4882a593Smuzhiyun     int ParseShortArray(const XMLNode *pNode, int16_t* values, const int num);
103*4882a593Smuzhiyun     int ParseString(const XMLNode *pNode, char* values, const int size);
104*4882a593Smuzhiyun     int ParseLscProfileArray(const XMLNode *pNode, CalibDb_Lsc_ProfileName_t values[], const int num);
105*4882a593Smuzhiyun 
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun     // parse Header
108*4882a593Smuzhiyun     bool parseEntryHeader(const XMLElement*, void* param = NULL);
109*4882a593Smuzhiyun     bool parseEntrySensor(const XMLElement*, void* param = NULL);
110*4882a593Smuzhiyun     bool parseEntrySensorAwb(const XMLElement*, void* param = NULL);
111*4882a593Smuzhiyun     bool parseEntrySensorAwbCalibParaV200(const XMLElement*, void* param, int index);
112*4882a593Smuzhiyun     bool parseEntrySensorAwbCalibParaV201(const XMLElement*, void* param, int index);
113*4882a593Smuzhiyun     bool parseEntrySensorAwbAdjustPara(const XMLElement*, void* param, int index);
114*4882a593Smuzhiyun     bool parseEntrySensorAwbMeasureGlobalsV200(const XMLElement*, void* param = NULL);
115*4882a593Smuzhiyun     bool parseEntrySensorAwbMeasureLightSourcesV200(const XMLElement*, void* param, int index);
116*4882a593Smuzhiyun     bool parseEntrySensorAwbMeasureGlobalsV201(const XMLElement*, void* param = NULL);
117*4882a593Smuzhiyun     bool parseEntrySensorAwbLightXYRegionV201(const XMLElement*, void* param = NULL);
118*4882a593Smuzhiyun     bool parseEntrySensorAwbLightRTYUVRegionV201(const XMLElement*, void* param = NULL);
119*4882a593Smuzhiyun     bool parseEntrySensorAwbMeasureLightSourcesV201(const XMLElement*, void* param, int index);
120*4882a593Smuzhiyun     bool parseEntrySensorAwbStrategyLightSources(const XMLElement*, void* param, int index);
121*4882a593Smuzhiyun     bool parseEntrySensorAwbStrategyGlobals(const XMLElement*, void* param = NULL);
122*4882a593Smuzhiyun     bool parseEntrySensorAwbLsForYuvDet(const XMLElement*, void* param, int index);
123*4882a593Smuzhiyun     bool parseEntrySensorAwbLsForYuvDetV201(const XMLElement*, void* param, int index);
124*4882a593Smuzhiyun     bool parseEntrySensorAwbWindowV201(const XMLElement*, void* param, int index);
125*4882a593Smuzhiyun     bool parseEntrySensorAwbMeasureWindowV201(const XMLElement*, void* param = NULL);
126*4882a593Smuzhiyun     bool parseEntrySensorAwbLimitRangeV201(const XMLElement*, void* param = NULL);
127*4882a593Smuzhiyun     bool parseEntrySensorAwbWpDiffWeiEnableTh(const XMLElement*, void* param = NULL);
128*4882a593Smuzhiyun     bool parseEntrySensorAwbWpDiffwei_w_HighLV(const XMLElement*, void* param = NULL);
129*4882a593Smuzhiyun     bool parseEntrySensorAwbWpDiffwei_w_LowLV(const XMLElement*, void* param = NULL);
130*4882a593Smuzhiyun     bool parseEntrySensorAwbWpDiffLumaWeight(const XMLElement*, void* param = NULL);
131*4882a593Smuzhiyun     bool parseEntrySensorAwbFrameChoose(const XMLElement*, void* param = NULL);
132*4882a593Smuzhiyun     bool parseEntrySensorAwbFrameChooseV201(const XMLElement*, void* param = NULL);
133*4882a593Smuzhiyun     bool parseEntrySensorAwbMeasureWindow(const XMLElement*, void* param = NULL);
134*4882a593Smuzhiyun     bool parseEntrySensorAwbLimitRange(const XMLElement*, void* param = NULL);
135*4882a593Smuzhiyun     bool parseEntrySensorAwbWindow(const XMLElement*, void* param, int index);
136*4882a593Smuzhiyun     bool parseEntrySensorAwbSingleColorV200(const XMLElement*, void* param);
137*4882a593Smuzhiyun     bool parseEntrySensorAwbColBlkV200(const XMLElement*, void* param, int index);
138*4882a593Smuzhiyun     bool parseEntrySensorAwbLsForEstimationV200(const XMLElement*, void* param, int index);
139*4882a593Smuzhiyun     bool parseEntrySensorAwbSingleColorV201(const XMLElement*, void* param);
140*4882a593Smuzhiyun     bool parseEntrySensorAwbColBlkV201(const XMLElement*, void* param, int index);
141*4882a593Smuzhiyun     bool parseEntrySensorAwbLsForEstimationV201(const XMLElement*, void* param, int index);
142*4882a593Smuzhiyun 
143*4882a593Smuzhiyun 
144*4882a593Smuzhiyun 
145*4882a593Smuzhiyun     bool parseEntrySensorAwbwbGainAdjust(const XMLElement*, void* param = NULL);
146*4882a593Smuzhiyun     bool parseEntrySensorAwbwbGainOffset(const XMLElement*, void* param = NULL);
147*4882a593Smuzhiyun     bool parseEntrySensorAwbDampFactor(const XMLElement*, void* param = NULL);
148*4882a593Smuzhiyun     bool parseEntrySensorAwbXyRegionStableSelection(const XMLElement*, void* param = NULL);
149*4882a593Smuzhiyun     bool parseEntrySensorAwbwbGainDaylightClipV200(const XMLElement*, void* param = NULL);
150*4882a593Smuzhiyun     bool parseEntrySensorAwbwbGainClipV200(const XMLElement*, void* param = NULL);
151*4882a593Smuzhiyun     bool parseEntrySensorAwbwbGainDaylightClipV201(const XMLElement*, void* param = NULL);
152*4882a593Smuzhiyun     bool parseEntrySensorAwbwbGainClipV201(const XMLElement*, void* param = NULL);
153*4882a593Smuzhiyun     bool parseEntrySensorAwbCctLutAll(const XMLElement*, void* param, int index);
154*4882a593Smuzhiyun     bool parseEntrySensorAwbGlobalsExclude(const XMLElement*, void* param, int index);
155*4882a593Smuzhiyun     bool parseEntrySensorAwbLightXYRegion(const XMLElement*, void* param = NULL);
156*4882a593Smuzhiyun     bool parseEntrySensorAwbLightYUVRegion(const XMLElement*, void* param = NULL);
157*4882a593Smuzhiyun     bool parseEntrySensorAwbGlobalsExcludeV201(const XMLElement*, void* param, int index);
158*4882a593Smuzhiyun     bool parseEntrySensorAwbLightSources(const XMLElement*, void* param = NULL);
159*4882a593Smuzhiyun     bool parseEntrySensorAwbRemosaicPara(const XMLElement*, void* param = NULL);
160*4882a593Smuzhiyun     bool parseEntrySensorAwbXyRegionWpnumthCell(const XMLElement*, void* param, int index);
161*4882a593Smuzhiyun     bool parseEntrySensorAwbwbWpTh(const XMLElement*, void* param, int index);
162*4882a593Smuzhiyun     bool parseEntrySensorAwbLimitRangeCell(const XMLElement*, void* param, int index);
163*4882a593Smuzhiyun     bool parseEntrySensorAwbLimitRangeV201Cell(const XMLElement*, void* param, int index);
164*4882a593Smuzhiyun     bool parseEntrySensorAecLinAlterExp(const XMLElement*, void* param = NULL);
165*4882a593Smuzhiyun     bool parseEntrySensorAecHdrAlterExp(const XMLElement*, void* param = NULL);
166*4882a593Smuzhiyun     bool parseEntrySensorAecAlterExp(const XMLElement*, void* param = NULL);
167*4882a593Smuzhiyun     bool parseEntrySensorAecSyncTest(const XMLElement*, void* param = NULL);
168*4882a593Smuzhiyun     bool parseEntrySensorAecSpeed(const XMLElement*, void* param = NULL);
169*4882a593Smuzhiyun     bool parseEntrySensorAecDelayFrmNum(const XMLElement*, void* param = NULL);
170*4882a593Smuzhiyun     bool parseEntrySensorAecVBNightMode(const XMLElement*, void* param = NULL);
171*4882a593Smuzhiyun     bool parseEntrySensorAecIRNightMode(const XMLElement*, void* param = NULL);
172*4882a593Smuzhiyun     bool parseEntrySensorAecDNSwitch(const XMLElement*, void* param = NULL);
173*4882a593Smuzhiyun     bool parseEntrySensorAecAntiFlicker(const XMLElement*, void* param = NULL);
174*4882a593Smuzhiyun     bool parseEntrySensorAecFrameRateMode(const XMLElement*, void* param = NULL);
175*4882a593Smuzhiyun     bool parseEntrySensorAecRangeLinearAE(const XMLElement*, void* param = NULL);
176*4882a593Smuzhiyun     bool parseEntrySensorAecRangeHdrAE(const XMLElement*, void* param = NULL);
177*4882a593Smuzhiyun     bool parseEntrySensorAecRange(const XMLElement*, void* param = NULL);
178*4882a593Smuzhiyun     bool parseEntrySensorAecInitValueLinearAE(const XMLElement*, void* param = NULL);
179*4882a593Smuzhiyun     bool parseEntrySensorAecInitValueHdrAE(const XMLElement*, void* param = NULL);
180*4882a593Smuzhiyun     bool parseEntrySensorAecInitValue(const XMLElement*, void* param = NULL);
181*4882a593Smuzhiyun     bool parseEntrySensorAecGridWeight(const XMLElement*, void* param = NULL);
182*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrlPAttr(const XMLElement*, void* param = NULL);
183*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrlDCAttr(const XMLElement*, void* param = NULL);
184*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrlHDCAttr(const XMLElement*, void* param = NULL);
185*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrl(const XMLElement*, void* param = NULL);
186*4882a593Smuzhiyun     bool parseEntrySensorAecManualCtrlLinearAE(const XMLElement*, void* param = NULL);
187*4882a593Smuzhiyun     bool parseEntrySensorAecManualCtrlHdrAE(const XMLElement*, void* param = NULL);
188*4882a593Smuzhiyun     bool parseEntrySensorAecManualCtrl(const XMLElement*, void* param = NULL);
189*4882a593Smuzhiyun     bool parseEntrySensorAecEnvLvCalib(const XMLElement*, void* param = NULL);
190*4882a593Smuzhiyun     bool parseEntrySensorAecRoute(const XMLElement*, void* param = NULL);
191*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlAoe(const XMLElement*, void* param = NULL);
192*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrl(const XMLElement*, void* param = NULL);
193*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlWeightMethod(const XMLElement*, void* param = NULL);
194*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlDarkROIMethod(const XMLElement*, void* param = NULL);
195*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlBackLight(const XMLElement*, void* param = NULL);
196*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlOverExp(const XMLElement*, void* param = NULL);
197*4882a593Smuzhiyun     bool parseEntrySensorIntervalAdjustStrategy(const XMLElement*, void* param = NULL);
198*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlHist2hal(const XMLElement*, void* param = NULL);
199*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlExpRatioCtrl(const XMLElement*, void* param = NULL);
200*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlLframeCtrl(const XMLElement*, void* param = NULL);
201*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlLframeMode(const XMLElement*, void* param = NULL);
202*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlMframeCtrl(const XMLElement*, void* param = NULL);
203*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlSframeCtrl(const XMLElement*, void* param = NULL);
204*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrl(const XMLElement*, void* param = NULL);
205*4882a593Smuzhiyun     bool parseEntrySensorAec(const XMLElement*, void* param = NULL);
206*4882a593Smuzhiyun     bool parseEntrySensorAecLinearAeRoute(const XMLElement*, void* param = NULL);
207*4882a593Smuzhiyun     bool parseEntrySensorAecHdrAeRoute(const XMLElement*, void* param = NULL);
208*4882a593Smuzhiyun     bool parseEntrySensorAecLinearAeDynamicPoint(const XMLElement*, void* param = NULL);
209*4882a593Smuzhiyun 
210*4882a593Smuzhiyun     bool parseEntrySensorAecLinAlterExpV21(const XMLElement*, void* param, int index);
211*4882a593Smuzhiyun     bool parseEntrySensorAecHdrAlterExpV21(const XMLElement*, void* param, int index);
212*4882a593Smuzhiyun     bool parseEntrySensorAecAlterExpV21(const XMLElement*, void* param = NULL);
213*4882a593Smuzhiyun     bool parseEntrySensorAecSyncTestV21(const XMLElement*, void* param = NULL);
214*4882a593Smuzhiyun     bool parseEntrySensorAecSpeedV21(const XMLElement*, void* param = NULL);
215*4882a593Smuzhiyun     bool parseEntrySensorAecDelayFrmNumV21(const XMLElement*, void* param = NULL);
216*4882a593Smuzhiyun     bool parseEntrySensorAecVBNightModeV21(const XMLElement*, void* param = NULL);
217*4882a593Smuzhiyun     bool parseEntrySensorAecIRNightModeV21(const XMLElement*, void* param = NULL);
218*4882a593Smuzhiyun     bool parseEntrySensorAecDNSwitchV21(const XMLElement*, void* param = NULL);
219*4882a593Smuzhiyun     bool parseEntrySensorAecAntiFlickerV21(const XMLElement*, void* param = NULL);
220*4882a593Smuzhiyun     bool parseEntrySensorAecFrameRateModeV21(const XMLElement*, void* param = NULL);
221*4882a593Smuzhiyun     bool parseEntrySensorAecRangeLinearAEV21(const XMLElement*, void* param = NULL);
222*4882a593Smuzhiyun     bool parseEntrySensorAecRangeHdrAEV21(const XMLElement*, void* param = NULL);
223*4882a593Smuzhiyun     bool parseEntrySensorAecRangeV21(const XMLElement*, void* param = NULL);
224*4882a593Smuzhiyun     bool parseEntrySensorAecInitValueLinearAEV21(const XMLElement*, void* param = NULL);
225*4882a593Smuzhiyun     bool parseEntrySensorAecInitValueHdrAEV21(const XMLElement*, void* param = NULL);
226*4882a593Smuzhiyun     bool parseEntrySensorAecInitValueV21(const XMLElement*, void* param = NULL);
227*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrlPAttrV21(const XMLElement*, void* param = NULL);
228*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrlDCAttrV21(const XMLElement*, void* param = NULL);
229*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrlHDCAttrV21(const XMLElement*, void* param = NULL);
230*4882a593Smuzhiyun     bool parseEntrySensorAecIrisCtrlV21(const XMLElement*, void* param = NULL);
231*4882a593Smuzhiyun     bool parseEntrySensorAecManualCtrlLinearAEV21(const XMLElement*, void* param = NULL);
232*4882a593Smuzhiyun     bool parseEntrySensorAecManualCtrlHdrAEV21(const XMLElement*, void* param = NULL);
233*4882a593Smuzhiyun     bool parseEntrySensorAecManualCtrlV21(const XMLElement*, void* param = NULL);
234*4882a593Smuzhiyun     bool parseEntrySensorAecEnvLvCalibV21(const XMLElement*, void* param = NULL);
235*4882a593Smuzhiyun     bool parseEntrySensorAecLinearRouteV21(const XMLElement*, void* param = NULL);
236*4882a593Smuzhiyun     bool parseEntrySensorAecHdrRouteV21(const XMLElement*, void* param = NULL);
237*4882a593Smuzhiyun     bool parseEntrySensorAecRouteV21(const XMLElement*, void* param = NULL);
238*4882a593Smuzhiyun     bool parseEntrySensorAecLinearAeDynamicPointV21(const XMLElement*, void* param = NULL);
239*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlBackLightV21(const XMLElement*, void* param = NULL);
240*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlOverExpV21(const XMLElement*, void* param = NULL);
241*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlV21(const XMLElement*, void* param = NULL);
242*4882a593Smuzhiyun     bool parseEntrySensorIntervalAdjustStrategyV21(const XMLElement*, void* param = NULL);
243*4882a593Smuzhiyun     bool parseEntrySensorLinearAECtrlHist2halV21(const XMLElement*, void* param = NULL);
244*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlExpRatioCtrlV21(const XMLElement*, void* param = NULL);
245*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlLframeCtrlV21(const XMLElement*, void* param = NULL);
246*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlLframeModeV21(const XMLElement*, void* param = NULL);
247*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlMframeCtrlV21(const XMLElement*, void* param = NULL);
248*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlSframeCtrlV21(const XMLElement*, void* param = NULL);
249*4882a593Smuzhiyun     bool parseEntrySensorHdrAECtrlV21(const XMLElement*, void* param = NULL);
250*4882a593Smuzhiyun     bool parseEntrySensorAecWinScaleV21(const XMLElement*, void* param = NULL);
251*4882a593Smuzhiyun     bool parseEntrySensorAecCalibPara(const XMLElement*, void* param, int index);
252*4882a593Smuzhiyun     bool parseEntrySensorAecTunePara(const XMLElement*, void* param, int index);
253*4882a593Smuzhiyun     bool parseEntrySensorAecV21(const XMLElement*, void* param = NULL);
254*4882a593Smuzhiyun 
255*4882a593Smuzhiyun     bool parseEntrySensorAhdrMerge(const XMLElement* pelement, void* param = NULL);
256*4882a593Smuzhiyun     bool parseEntrySensorAhdrTmo(const XMLElement* pelement, void* param = NULL);
257*4882a593Smuzhiyun     bool parseEntrySensorAhdrTmoEn(const XMLElement* pelement, void* param = NULL);
258*4882a593Smuzhiyun     bool parseEntrySensorAhdrTmoGlobalLuma(const XMLElement* pelement, void* param = NULL);
259*4882a593Smuzhiyun     bool parseEntrySensorAhdrTmoDetailsHighLight(const XMLElement* pelement, void* param = NULL);
260*4882a593Smuzhiyun     bool parseEntrySensorAhdrTmoDetailsLowLight(const XMLElement* pelement, void* param = NULL);
261*4882a593Smuzhiyun     bool parseEntrySensorAhdrLocalTMO(const XMLElement* pelement, void* param = NULL);
262*4882a593Smuzhiyun     bool parseEntrySensorAhdrGlobalTMO(const XMLElement* pelement, void* param = NULL);
263*4882a593Smuzhiyun     bool parseEntrySensorDrc(const XMLElement* pelement, void* param = NULL);
264*4882a593Smuzhiyun     bool parseEntrySensorDrcCalibPara(const XMLElement* pelement, void* param = NULL);
265*4882a593Smuzhiyun     bool parseEntrySensorDrcTuningPara(const XMLElement* pelement, void* param = NULL);
266*4882a593Smuzhiyun     bool parseEntrySensorBlcModeCell(const XMLElement* pelement, void* param = NULL);
267*4882a593Smuzhiyun     bool parseEntrySensorBlc(const XMLElement* pelement, void* param = NULL);
268*4882a593Smuzhiyun     bool parseEntrySensorLut3d(const XMLElement* pelement, void* param = NULL);
269*4882a593Smuzhiyun     bool parseEntrySensorDpcc(const XMLElement* pelement, void* param = NULL);
270*4882a593Smuzhiyun     bool parseEntrySensorDpccFastMode(const XMLElement* pelement, void* param = NULL);
271*4882a593Smuzhiyun     bool parseEntrySensorDpccExpertMode(const XMLElement* pelement, void* param = NULL);
272*4882a593Smuzhiyun     bool parseEntrySensorDpccSetCell(const XMLElement* pelement, void* param = NULL);
273*4882a593Smuzhiyun     bool parseEntrySensorDpccSetCellRK(const XMLElement* pelement, int index );
274*4882a593Smuzhiyun     bool parseEntrySensorDpccSetCellLC(const XMLElement* pelement, int index );
275*4882a593Smuzhiyun     bool parseEntrySensorDpccSetCellPG(const XMLElement* pelement, int index );
276*4882a593Smuzhiyun     bool parseEntrySensorDpccSetCellRND(const XMLElement* pelement, int index );
277*4882a593Smuzhiyun     bool parseEntrySensorDpccSetCellRG(const XMLElement* pelement, int index);
278*4882a593Smuzhiyun     bool parseEntrySensorDpccSetCellRO(const XMLElement* pelement, int index );
279*4882a593Smuzhiyun     bool parseEntrySensorDpccPdaf(const XMLElement* pelement, void* param = NULL);
280*4882a593Smuzhiyun     bool parseEntrySensorDpccSensor(const XMLElement* pelement, void* param = NULL);
281*4882a593Smuzhiyun     bool parseEntrySensorBayerNr(const XMLElement* pelement, void* param = NULL);
282*4882a593Smuzhiyun     bool parseEntrySensorBayerNrModeCell(const XMLElement* pelement, void* param = NULL);
283*4882a593Smuzhiyun     bool parseEntrySensorBayerNrSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
284*4882a593Smuzhiyun     bool parseEntrySensorLsc(const XMLElement* pelement, void* param = NULL);
285*4882a593Smuzhiyun     bool parseEntrySensorLscAlscCof(const XMLElement* pelement, void* param = NULL);
286*4882a593Smuzhiyun     bool parseEntrySensorLscAlscCofResAll(const XMLElement* pelement, void* param = NULL);
287*4882a593Smuzhiyun     bool parseEntrySensorLscAlscCofIllAll(const XMLElement* pelement, void* param = NULL);
288*4882a593Smuzhiyun     bool parseEntrySensorLscTableAll(const XMLElement* pelement, void* param = NULL);
289*4882a593Smuzhiyun     bool parseEntrySensorRKDM(const XMLElement* pelement, void* param = NULL);
290*4882a593Smuzhiyun     bool parseEntrySensorlumaCCMGAC(const XMLElement* pelement, void* param = NULL, int index = 0);
291*4882a593Smuzhiyun     bool parseEntrySensorlumaCCM(const XMLElement* pelement, void* param = NULL, int index = 0);
292*4882a593Smuzhiyun     bool parseEntrySensorCCM(const XMLElement* pelement, void* param = NULL);
293*4882a593Smuzhiyun     bool parseEntrySensorCCMModeCell(const XMLElement* pelement, void* param = NULL);
294*4882a593Smuzhiyun     bool parseEntrySensorCcmAccmCof(const XMLElement* pelement, void* param = NULL, int index = 0);
295*4882a593Smuzhiyun     bool parseEntrySensorCcmAccmCofIllAll(const XMLElement* pelement, void* param = NULL, int index = 0);
296*4882a593Smuzhiyun     bool parseEntrySensorCcmMatrixAll(const XMLElement* pelement, void* param = NULL, int index = 0);
297*4882a593Smuzhiyun     bool parseEntrySensorUVNR(const XMLElement* pelement, void* param = NULL);
298*4882a593Smuzhiyun     bool parseEntrySensorUVNRModeCell(const XMLElement* pelement, void* param = NULL);
299*4882a593Smuzhiyun     bool parseEntrySensorUVNRSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
300*4882a593Smuzhiyun     bool parseEntrySensorGamma(const XMLElement* pelement, void* param = NULL);
301*4882a593Smuzhiyun     bool parseEntrySensorDegamma(const XMLElement* pelement, void* param = NULL);
302*4882a593Smuzhiyun     bool parseEntrySensorDegammaModeCell(const XMLElement* pelement, void* param = NULL);
303*4882a593Smuzhiyun     bool parseEntrySensorYnr(const XMLElement* pelement, void* param = NULL);
304*4882a593Smuzhiyun     bool parseEntrySensorYnrModeCell(const XMLElement* pelement, void* param = NULL);
305*4882a593Smuzhiyun     bool parseEntrySensorYnrSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
306*4882a593Smuzhiyun     bool parseEntrySensorYnrISO(const XMLElement* pelement, void* param = NULL, int index = 0);
307*4882a593Smuzhiyun     bool parseEntrySensorGic(const XMLElement* pelement, void* param = NULL);
308*4882a593Smuzhiyun     bool parseEntrySensorGicCalibParaV20(const XMLElement* pelement, void* param);
309*4882a593Smuzhiyun     bool parseEntrySensorGicTuningParaV20(const XMLElement* pelement, void* param);
310*4882a593Smuzhiyun     bool parseEntrySensorGicCalibSettingV20( const XMLElement* pelement, void* param, int index) ;
311*4882a593Smuzhiyun     bool parseEntrySensorGicTuningSettingV20( const XMLElement* pelement, void* param, int index) ;
312*4882a593Smuzhiyun     bool parseEntrySensorGicCalibParaV21(const XMLElement* pelement, void* param);
313*4882a593Smuzhiyun     bool parseEntrySensorGicTuningParaV21(const XMLElement* pelement, void* param);
314*4882a593Smuzhiyun     bool parseEntrySensorGicCalibSettingV21( const XMLElement* pelement, void* param, int index) ;
315*4882a593Smuzhiyun     bool parseEntrySensorGicTuningSettingV21( const XMLElement* pelement, void* param, int index) ;
316*4882a593Smuzhiyun     bool parseEntrySensorMFNR(const XMLElement* pelement, void* param = NULL);
317*4882a593Smuzhiyun     bool parseEntrySensorMFNRDynamic(const XMLElement*   pelement, void* param = NULL, int index = 0);
318*4882a593Smuzhiyun     bool parseEntrySensorMFNRMotionDetection(const XMLElement*   pelement, void* param = NULL, int index = 0);
319*4882a593Smuzhiyun     bool parseEntrySensorMFNRModeCell(const XMLElement* pelement, void* param = NULL);
320*4882a593Smuzhiyun     bool parseEntrySensorMFNRAwbUvRatio(const XMLElement* pelement, void* param = NULL);
321*4882a593Smuzhiyun     bool parseEntrySensorMFNRISO(const XMLElement* pelement, void* param = NULL, int index = 0);
322*4882a593Smuzhiyun     bool parseEntrySensorMFNRSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
323*4882a593Smuzhiyun     bool parseEntrySensorSharp(const XMLElement* pelement, void* param = NULL);
324*4882a593Smuzhiyun     bool parseEntrySensorSharpModeCell(const XMLElement* pelement, void* param = NULL);
325*4882a593Smuzhiyun     bool parseEntrySensorSharpSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
326*4882a593Smuzhiyun     bool parseEntrySensorSharpISO(const XMLElement* pelement, void* param = NULL, int index = 0);
327*4882a593Smuzhiyun     bool parseEntrySensorEdgeFilter(const XMLElement* pelement, void* param = NULL);
328*4882a593Smuzhiyun     bool parseEntrySensorEdgeFilterModeCell(const XMLElement* pelement, void* param = NULL );
329*4882a593Smuzhiyun     bool parseEntrySensorEdgeFilterSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
330*4882a593Smuzhiyun     bool parseEntrySensorEdgeFilterISO(const XMLElement* pelement, void* param = NULL, int index = 0);
331*4882a593Smuzhiyun     bool parseEntrySensorDehaze(const XMLElement* pelement, void* param = NULL);
332*4882a593Smuzhiyun     bool parseEntrySensorDehazeCalibParaV20(const XMLElement* pelement, void* param = NULL);
333*4882a593Smuzhiyun     bool parseEntrySensorDehazeCalibParaV21(const XMLElement* pelement, void* param = NULL);
334*4882a593Smuzhiyun     bool parseEntrySensorDehazeTuningParaV20(const XMLElement* pelement, void* param = NULL);
335*4882a593Smuzhiyun     bool parseEntrySensorDehazeTuningParaV21(const XMLElement* pelement, void* param = NULL);
336*4882a593Smuzhiyun     bool parseEntrySensorDehazeSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
337*4882a593Smuzhiyun     bool parseEntrySensorEnhanceSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
338*4882a593Smuzhiyun     bool parseEntrySensorHistSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
339*4882a593Smuzhiyun     bool parseEntrySensorDehazeTuningSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
340*4882a593Smuzhiyun     bool parseEntrySensorEnhanceTuningSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
341*4882a593Smuzhiyun     bool parseEntrySensorHistTuningSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
342*4882a593Smuzhiyun     bool parseEntrySensorDehazeSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
343*4882a593Smuzhiyun     bool parseEntrySensorEnhanceSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
344*4882a593Smuzhiyun     bool parseEntrySensorHistSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
345*4882a593Smuzhiyun     bool parseEntrySensorDehazeTuningSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
346*4882a593Smuzhiyun     bool parseEntrySensorEnhanceTuningSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
347*4882a593Smuzhiyun     bool parseEntrySensorHistTuningSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
348*4882a593Smuzhiyun     bool parseEntrySensorIIRSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
349*4882a593Smuzhiyun     bool parseEntrySensorAfWindow(const XMLElement* pelement, void* param = NULL);
350*4882a593Smuzhiyun     bool parseEntrySensorAfFixedMode(const XMLElement* pelement, void* param = NULL);
351*4882a593Smuzhiyun     bool parseEntrySensorAfMacroMode(const XMLElement* pelement, void* param = NULL);
352*4882a593Smuzhiyun     bool parseEntrySensorAfInfinityMode(const XMLElement* pelement, void* param = NULL);
353*4882a593Smuzhiyun     bool parseEntrySensorAfContrastAf(const XMLElement* pelement, void* param = NULL);
354*4882a593Smuzhiyun     bool parseEntrySensorAfLaserAf(const XMLElement* pelement, void* param = NULL);
355*4882a593Smuzhiyun     bool parseEntrySensorAfPdaf(const XMLElement* pelement, void* param = NULL);
356*4882a593Smuzhiyun     bool parseEntrySensorAfVcmCfg(const XMLElement* pelement, void* param = NULL);
357*4882a593Smuzhiyun     bool parseEntrySensorAfMeasISO(const XMLElement* pelement, void* param = NULL);
358*4882a593Smuzhiyun     bool parseEntrySensorAfZoomFocusTbl(const XMLElement* pelement, void* param = NULL);
359*4882a593Smuzhiyun     bool parseEntrySensorAf(const XMLElement* pelement, void* param = NULL);
360*4882a593Smuzhiyun     bool parseEntrySensorLdch(const XMLElement* pelement, void* param = NULL);
361*4882a593Smuzhiyun     bool parseEntrySensorFec(const XMLElement* pelement, void* param = NULL);
362*4882a593Smuzhiyun     bool parseEntrySensorEis(const XMLElement* pelement, void* param = NULL);
363*4882a593Smuzhiyun     bool parseEntrySensorLumaDetect(const XMLElement* pelement, void* param = NULL);
364*4882a593Smuzhiyun     bool parseEntrySensorOrb(const XMLElement* pelement, void* param = NULL);
365*4882a593Smuzhiyun     bool parseEntrySensorInfoGainRange(const XMLElement* pelement, void* param = NULL);
366*4882a593Smuzhiyun     bool parseEntrySensorInfo(const XMLElement* pelement, void* param = NULL);
367*4882a593Smuzhiyun     bool parseEntrySensorModuleInfo(const XMLElement* pelement, void* param = NULL);
368*4882a593Smuzhiyun     bool parseEntrySensorCpsl(const XMLElement* pelement, void* param = NULL);
369*4882a593Smuzhiyun     bool parseEntrySensorColorAsGrey(const XMLElement* pelement, void* param = NULL);
370*4882a593Smuzhiyun     bool parseEntrySensorCproc(const XMLElement* pelement, void* param = NULL);
371*4882a593Smuzhiyun     bool parseEntrySensorIE(const XMLElement* pelement, void* param = NULL);
372*4882a593Smuzhiyun     bool parseEntrySystemHDR(const XMLElement* pelement, void* param = NULL);
373*4882a593Smuzhiyun     bool parseEntrySystemDcgNormalGainCtrl(const XMLElement* pelement, void* param = NULL);
374*4882a593Smuzhiyun     bool parseEntrySystemDcgHdrGainCtrl(const XMLElement* pelement, void* param = NULL);
375*4882a593Smuzhiyun     bool parseEntrySystemDcgNormalEnvCtrl(const XMLElement* pelement, void* param = NULL);
376*4882a593Smuzhiyun     bool parseEntrySystemDcgHdrEnvCtrl(const XMLElement* pelement, void* param = NULL);
377*4882a593Smuzhiyun     bool parseEntrySystemDcgNormalSetting(const XMLElement* pelement, void* param = NULL);
378*4882a593Smuzhiyun     bool parseEntrySystemDcgHdrSetting(const XMLElement* pelement, void* param = NULL);
379*4882a593Smuzhiyun     bool parseEntrySystemDcgSetting(const XMLElement* pelement, void* param = NULL);
380*4882a593Smuzhiyun     bool parseEntrySystemExpDelayHdr(const XMLElement* pelement, void* param = NULL);
381*4882a593Smuzhiyun     bool parseEntrySystemExpDelayNormal(const XMLElement* pelement, void* param = NULL);
382*4882a593Smuzhiyun     bool parseEntrySystemExpDelay(const XMLElement* pelement, void* param = NULL);
383*4882a593Smuzhiyun     bool parseEntrySystem(const XMLElement*, void* param = NULL);
384*4882a593Smuzhiyun     bool parseEntryExpSet(const XMLElement* pelement, void* param = NULL);
385*4882a593Smuzhiyun     bool parseEntryExpSetGain2Reg(const XMLElement* pelement, void* param = NULL);
386*4882a593Smuzhiyun     bool parseEntryExpSetGainSet(const XMLElement* pelement, void* param = NULL);
387*4882a593Smuzhiyun     bool parseEntryExpSetTimeSet(const XMLElement* pelement, void* param = NULL);
388*4882a593Smuzhiyun     bool parseEntryExpSetHdrTimeSet(const XMLElement* pelement, void* param = NULL);
389*4882a593Smuzhiyun     bool parseEntryExpSetNormalTimeSet(const XMLElement* pelement, void* param = NULL);
390*4882a593Smuzhiyun     bool parseEntryExpSetHdrSet(const XMLElement* pelement, void* param = NULL);
391*4882a593Smuzhiyun     bool parseEntryExpSetDcgSet(const XMLElement* pelement, void* param = NULL);
392*4882a593Smuzhiyun     bool parseEntryExpSetDcgNormalSet(const XMLElement* pelement, void* param = NULL);
393*4882a593Smuzhiyun     bool parseEntryExpSetDcgHdrSet(const XMLElement* pelement, void* param = NULL);
394*4882a593Smuzhiyun     bool parseEntryExpSetDcgNormalGainCtrl(const XMLElement* pelement, void* param = NULL);
395*4882a593Smuzhiyun     bool parseEntryExpSetDcgHdrGainCtrl(const XMLElement* pelement, void* param = NULL);
396*4882a593Smuzhiyun     bool parseEntryExpSetDcgNormalEnvCtrl(const XMLElement* pelement, void* param = NULL);
397*4882a593Smuzhiyun     bool parseEntryExpSetDcgHdrEnvCtrl(const XMLElement* pelement, void* param = NULL);
398*4882a593Smuzhiyun     bool parseEntryExpSetExpUpdateHdr(const XMLElement* pelement, void* param = NULL);
399*4882a593Smuzhiyun     bool parseEntryExpSetExpUpdateNormal(const XMLElement* pelement, void* param = NULL);
400*4882a593Smuzhiyun     bool parseEntryExpSetExpUpdate(const XMLElement* pelement, void* param = NULL);
401*4882a593Smuzhiyun     bool parseEntryModuleInfo(const XMLElement* pelement, void* param = NULL);
402*4882a593Smuzhiyun 
403*4882a593Smuzhiyun 
404*4882a593Smuzhiyun     bool parseEntrySensorBayernrV2
405*4882a593Smuzhiyun     (
406*4882a593Smuzhiyun         const XMLElement* pelement,
407*4882a593Smuzhiyun         void* param = NULL
408*4882a593Smuzhiyun     ) ;
409*4882a593Smuzhiyun 
410*4882a593Smuzhiyun     bool parseEntryBayernrV2Setting_2D
411*4882a593Smuzhiyun     (
412*4882a593Smuzhiyun         const XMLElement*   pelement,
413*4882a593Smuzhiyun         void*                param,
414*4882a593Smuzhiyun         int                  index
415*4882a593Smuzhiyun     );
416*4882a593Smuzhiyun 
417*4882a593Smuzhiyun     bool parseEntryBayernrV2Setting_3D
418*4882a593Smuzhiyun     (
419*4882a593Smuzhiyun         const XMLElement*   pelement,
420*4882a593Smuzhiyun         void*                param,
421*4882a593Smuzhiyun         int                  index
422*4882a593Smuzhiyun     );
423*4882a593Smuzhiyun 
424*4882a593Smuzhiyun     bool parseEntrySensorBayernrV2Setting2D
425*4882a593Smuzhiyun     (
426*4882a593Smuzhiyun         const XMLElement*   pelement,
427*4882a593Smuzhiyun         void*                param
428*4882a593Smuzhiyun     );
429*4882a593Smuzhiyun 
430*4882a593Smuzhiyun     bool parseEntrySensorBayernrV2Setting3D
431*4882a593Smuzhiyun     (
432*4882a593Smuzhiyun         const XMLElement*   pelement,
433*4882a593Smuzhiyun         void*                param
434*4882a593Smuzhiyun     );
435*4882a593Smuzhiyun     bool parseEntrySensorYnrV2
436*4882a593Smuzhiyun     (
437*4882a593Smuzhiyun         const XMLElement* pelement,
438*4882a593Smuzhiyun         void* param
439*4882a593Smuzhiyun     );
440*4882a593Smuzhiyun     bool parseEntryYnrV2Setting
441*4882a593Smuzhiyun     (
442*4882a593Smuzhiyun         const XMLElement*   pelement,
443*4882a593Smuzhiyun         void*                param,
444*4882a593Smuzhiyun         int                  index
445*4882a593Smuzhiyun     );
446*4882a593Smuzhiyun     bool parseEntrySensorCnrV1
447*4882a593Smuzhiyun     (
448*4882a593Smuzhiyun         const XMLElement* pelement,
449*4882a593Smuzhiyun         void* param
450*4882a593Smuzhiyun     );
451*4882a593Smuzhiyun     bool parseEntryCnrV1Setting
452*4882a593Smuzhiyun     (
453*4882a593Smuzhiyun         const XMLElement*   pelement,
454*4882a593Smuzhiyun         void*                param,
455*4882a593Smuzhiyun         int                  index
456*4882a593Smuzhiyun     );
457*4882a593Smuzhiyun     bool parseEntrySharpV3Setting
458*4882a593Smuzhiyun     (
459*4882a593Smuzhiyun         const XMLElement*   pelement,
460*4882a593Smuzhiyun         void*                param,
461*4882a593Smuzhiyun         int                  index
462*4882a593Smuzhiyun     );
463*4882a593Smuzhiyun     bool parseEntrySensorSharpV3
464*4882a593Smuzhiyun     (
465*4882a593Smuzhiyun         const XMLElement* pelement,
466*4882a593Smuzhiyun         void* param
467*4882a593Smuzhiyun     );
468*4882a593Smuzhiyun public:
469*4882a593Smuzhiyun     explicit RkAiqCalibParser(CamCalibDbContext_t *pCalibDb);
470*4882a593Smuzhiyun     virtual ~RkAiqCalibParser();
471*4882a593Smuzhiyun     bool doParse(const char* device);
472*4882a593Smuzhiyun     bool doGenerate(const char* deviceRef, const char* deviceOutput);
473*4882a593Smuzhiyun     void  updateXmlParseReadWriteFlag(int flag);
474*4882a593Smuzhiyun 
475*4882a593Smuzhiyun 
476*4882a593Smuzhiyun private:
477*4882a593Smuzhiyun     CamCalibDbContext_t *mCalibDb;
478*4882a593Smuzhiyun 
479*4882a593Smuzhiyun #if defined(__linux__)
480*4882a593Smuzhiyun     XCAM_DEAD_COPY (RkAiqCalibParser);
481*4882a593Smuzhiyun #endif
482*4882a593Smuzhiyun };
483*4882a593Smuzhiyun 
484*4882a593Smuzhiyun } //namespace RkCam
485*4882a593Smuzhiyun 
486*4882a593Smuzhiyun #endif
487