android13/external/camera_engine_rkaiq/iq_parser/RkAiqCalibParser.h

487 lines
30 KiB
C++
Executable File

/*
* 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.
*
*/
#ifndef _RK_AIQ_CALIB_PARSER_H_
#define _RK_AIQ_CALIB_PARSER_H_
#include <string.h>
#include "tinyxml2.h"
#include "RkAiqCalibDbTypes.h"
#include "RkAiqCalibTag.h"
#include "xmltags.h"
#include "RkAiqCalibApi.h"
using namespace tinyxml2;
#if defined(_MSC_VER)
#define strcasecmp _stricmp
#define snprintf(buf,len, format,...) _snprintf_s(buf, len, len-1, format, __VA_ARGS__)
#endif
#if defined(__linux__)
#include "smartptr.h"
#include <xcam_common.h>
#include "xcam_log.h"
#ifdef DCT_ASSERT
#undef DCT_ASSERT
#endif
#define DCT_ASSERT assert
#elif defined(_WIN32)
#ifdef DCT_ASSERT
#undef DCT_ASSERT
#endif
#define DCT_ASSERT(x) if(!(x))return false
#define LOGI printf
#define LOGD printf
#define LOGW printf
#define LOGE printf
#define LOG1 printf
#endif
#define XML_PARSER_READ 0
#define XML_PARSER_WRITE 1
namespace RkCam {
class RkAiqCalibParser
{
private:
typedef bool (RkAiqCalibParser::*parseCellContent)(const XMLElement*, void* param);
typedef bool (RkAiqCalibParser::*parseCellContent2)(const XMLElement*, void* param, int index);
// parse helper
bool parseCellNoElement(const XMLElement* pelement, int noElements, int &RealNo);
bool parseEntryCell(const XMLElement*, int, parseCellContent, void* param = NULL,
uint32_t cur_id = 0, uint32_t parent_id = 0);
bool parseEntryCell2(const XMLElement*, int, parseCellContent2, void* param = NULL,
uint32_t cur_id = 0, uint32_t parent_id = 0);
bool parseEntryCell3(XMLElement*, int, int, parseCellContent, void* param = NULL,
uint32_t cur_id = 0, uint32_t parent_id = 0);
bool parseEntryCell4(XMLElement*, int, int, parseCellContent2, void* param = NULL,
uint32_t cur_id = 0, uint32_t parent_id = 0);
// parse read/write control
bool xmlParseReadWrite;
char autoTabStr[128];
int autoTabIdx;
void parseReadWriteCtrl(bool ctrl);
void autoTabForward();
void autoTabBackward();
// parse Kit
int ParseCharToHex(XmlTag* tag, uint32_t* reg_value);
int ParseByteArray(const XMLNode *pNode, uint8_t* values, const int num);
int ParseFloatArray(const XMLNode *pNode, float* values, const int num, int printAccuracy = 4);
int ParseDoubleArray(const XMLNode *pNode, double* values, const int num);
int ParseUintArray(const XMLNode *pNode, uint32_t* values, const int num);
int ParseIntArray(const XMLNode *pNode, int32_t* values, const int num);
int ParseUcharArray(const XMLNode *pNode, uint8_t* values, const int num);
int ParseCharArray(const XMLNode *pNode, int8_t* values, const int num);
int ParseUshortArray(const XMLNode *pNode, uint16_t* values, const int num);
int ParseShortArray(const XMLNode *pNode, int16_t* values, const int num);
int ParseString(const XMLNode *pNode, char* values, const int size);
int ParseLscProfileArray(const XMLNode *pNode, CalibDb_Lsc_ProfileName_t values[], const int num);
// parse Header
bool parseEntryHeader(const XMLElement*, void* param = NULL);
bool parseEntrySensor(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwb(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbCalibParaV200(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbCalibParaV201(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbAdjustPara(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbMeasureGlobalsV200(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbMeasureLightSourcesV200(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbMeasureGlobalsV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbLightXYRegionV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbLightRTYUVRegionV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbMeasureLightSourcesV201(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbStrategyLightSources(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbStrategyGlobals(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbLsForYuvDet(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbLsForYuvDetV201(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbWindowV201(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbMeasureWindowV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbLimitRangeV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbWpDiffWeiEnableTh(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbWpDiffwei_w_HighLV(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbWpDiffwei_w_LowLV(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbWpDiffLumaWeight(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbFrameChoose(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbFrameChooseV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbMeasureWindow(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbLimitRange(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbWindow(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbSingleColorV200(const XMLElement*, void* param);
bool parseEntrySensorAwbColBlkV200(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbLsForEstimationV200(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbSingleColorV201(const XMLElement*, void* param);
bool parseEntrySensorAwbColBlkV201(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbLsForEstimationV201(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbwbGainAdjust(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbwbGainOffset(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbDampFactor(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbXyRegionStableSelection(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbwbGainDaylightClipV200(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbwbGainClipV200(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbwbGainDaylightClipV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbwbGainClipV201(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbCctLutAll(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbGlobalsExclude(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbLightXYRegion(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbLightYUVRegion(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbGlobalsExcludeV201(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbLightSources(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbRemosaicPara(const XMLElement*, void* param = NULL);
bool parseEntrySensorAwbXyRegionWpnumthCell(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbwbWpTh(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbLimitRangeCell(const XMLElement*, void* param, int index);
bool parseEntrySensorAwbLimitRangeV201Cell(const XMLElement*, void* param, int index);
bool parseEntrySensorAecLinAlterExp(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecHdrAlterExp(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecAlterExp(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecSyncTest(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecSpeed(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecDelayFrmNum(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecVBNightMode(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIRNightMode(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecDNSwitch(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecAntiFlicker(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecFrameRateMode(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRangeLinearAE(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRangeHdrAE(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRange(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecInitValueLinearAE(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecInitValueHdrAE(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecInitValue(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecGridWeight(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrlPAttr(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrlDCAttr(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrlHDCAttr(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecManualCtrlLinearAE(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecManualCtrlHdrAE(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecManualCtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecEnvLvCalib(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRoute(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlAoe(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlWeightMethod(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlDarkROIMethod(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlBackLight(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlOverExp(const XMLElement*, void* param = NULL);
bool parseEntrySensorIntervalAdjustStrategy(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlHist2hal(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlExpRatioCtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlLframeCtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlLframeMode(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlMframeCtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlSframeCtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrl(const XMLElement*, void* param = NULL);
bool parseEntrySensorAec(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecLinearAeRoute(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecHdrAeRoute(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecLinearAeDynamicPoint(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecLinAlterExpV21(const XMLElement*, void* param, int index);
bool parseEntrySensorAecHdrAlterExpV21(const XMLElement*, void* param, int index);
bool parseEntrySensorAecAlterExpV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecSyncTestV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecSpeedV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecDelayFrmNumV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecVBNightModeV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIRNightModeV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecDNSwitchV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecAntiFlickerV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecFrameRateModeV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRangeLinearAEV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRangeHdrAEV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRangeV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecInitValueLinearAEV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecInitValueHdrAEV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecInitValueV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrlPAttrV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrlDCAttrV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrlHDCAttrV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecIrisCtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecManualCtrlLinearAEV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecManualCtrlHdrAEV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecManualCtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecEnvLvCalibV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecLinearRouteV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecHdrRouteV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecRouteV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecLinearAeDynamicPointV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlBackLightV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlOverExpV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorIntervalAdjustStrategyV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorLinearAECtrlHist2halV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlExpRatioCtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlLframeCtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlLframeModeV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlMframeCtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlSframeCtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorHdrAECtrlV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecWinScaleV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAecCalibPara(const XMLElement*, void* param, int index);
bool parseEntrySensorAecTunePara(const XMLElement*, void* param, int index);
bool parseEntrySensorAecV21(const XMLElement*, void* param = NULL);
bool parseEntrySensorAhdrMerge(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAhdrTmo(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAhdrTmoEn(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAhdrTmoGlobalLuma(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAhdrTmoDetailsHighLight(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAhdrTmoDetailsLowLight(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAhdrLocalTMO(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAhdrGlobalTMO(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDrc(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDrcCalibPara(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDrcTuningPara(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorBlcModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorBlc(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorLut3d(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDpcc(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDpccFastMode(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDpccExpertMode(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDpccSetCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDpccSetCellRK(const XMLElement* pelement, int index );
bool parseEntrySensorDpccSetCellLC(const XMLElement* pelement, int index );
bool parseEntrySensorDpccSetCellPG(const XMLElement* pelement, int index );
bool parseEntrySensorDpccSetCellRND(const XMLElement* pelement, int index );
bool parseEntrySensorDpccSetCellRG(const XMLElement* pelement, int index);
bool parseEntrySensorDpccSetCellRO(const XMLElement* pelement, int index );
bool parseEntrySensorDpccPdaf(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDpccSensor(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorBayerNr(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorBayerNrModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorBayerNrSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorLsc(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorLscAlscCof(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorLscAlscCofResAll(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorLscAlscCofIllAll(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorLscTableAll(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorRKDM(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorlumaCCMGAC(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorlumaCCM(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorCCM(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorCCMModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorCcmAccmCof(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorCcmAccmCofIllAll(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorCcmMatrixAll(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorUVNR(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorUVNRModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorUVNRSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorGamma(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDegamma(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDegammaModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorYnr(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorYnrModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorYnrSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorYnrISO(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorGic(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorGicCalibParaV20(const XMLElement* pelement, void* param);
bool parseEntrySensorGicTuningParaV20(const XMLElement* pelement, void* param);
bool parseEntrySensorGicCalibSettingV20( const XMLElement* pelement, void* param, int index) ;
bool parseEntrySensorGicTuningSettingV20( const XMLElement* pelement, void* param, int index) ;
bool parseEntrySensorGicCalibParaV21(const XMLElement* pelement, void* param);
bool parseEntrySensorGicTuningParaV21(const XMLElement* pelement, void* param);
bool parseEntrySensorGicCalibSettingV21( const XMLElement* pelement, void* param, int index) ;
bool parseEntrySensorGicTuningSettingV21( const XMLElement* pelement, void* param, int index) ;
bool parseEntrySensorMFNR(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorMFNRDynamic(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorMFNRMotionDetection(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorMFNRModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorMFNRAwbUvRatio(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorMFNRISO(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorMFNRSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorSharp(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorSharpModeCell(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorSharpSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorSharpISO(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorEdgeFilter(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorEdgeFilterModeCell(const XMLElement* pelement, void* param = NULL );
bool parseEntrySensorEdgeFilterSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorEdgeFilterISO(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorDehaze(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDehazeCalibParaV20(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDehazeCalibParaV21(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDehazeTuningParaV20(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDehazeTuningParaV21(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorDehazeSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorEnhanceSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorHistSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorDehazeTuningSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorEnhanceTuningSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorHistTuningSettingV20(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorDehazeSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorEnhanceSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorHistSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorDehazeTuningSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorEnhanceTuningSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorHistTuningSettingV21(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorIIRSetting(const XMLElement* pelement, void* param = NULL, int index = 0);
bool parseEntrySensorAfWindow(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfFixedMode(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfMacroMode(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfInfinityMode(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfContrastAf(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfLaserAf(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfPdaf(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfVcmCfg(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfMeasISO(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAfZoomFocusTbl(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorAf(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorLdch(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorFec(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorEis(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorLumaDetect(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorOrb(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorInfoGainRange(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorInfo(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorModuleInfo(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorCpsl(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorColorAsGrey(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorCproc(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorIE(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemHDR(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemDcgNormalGainCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemDcgHdrGainCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemDcgNormalEnvCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemDcgHdrEnvCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemDcgNormalSetting(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemDcgHdrSetting(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemDcgSetting(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemExpDelayHdr(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemExpDelayNormal(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystemExpDelay(const XMLElement* pelement, void* param = NULL);
bool parseEntrySystem(const XMLElement*, void* param = NULL);
bool parseEntryExpSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetGain2Reg(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetGainSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetTimeSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetHdrTimeSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetNormalTimeSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetHdrSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetDcgSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetDcgNormalSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetDcgHdrSet(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetDcgNormalGainCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetDcgHdrGainCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetDcgNormalEnvCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetDcgHdrEnvCtrl(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetExpUpdateHdr(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetExpUpdateNormal(const XMLElement* pelement, void* param = NULL);
bool parseEntryExpSetExpUpdate(const XMLElement* pelement, void* param = NULL);
bool parseEntryModuleInfo(const XMLElement* pelement, void* param = NULL);
bool parseEntrySensorBayernrV2
(
const XMLElement* pelement,
void* param = NULL
) ;
bool parseEntryBayernrV2Setting_2D
(
const XMLElement* pelement,
void* param,
int index
);
bool parseEntryBayernrV2Setting_3D
(
const XMLElement* pelement,
void* param,
int index
);
bool parseEntrySensorBayernrV2Setting2D
(
const XMLElement* pelement,
void* param
);
bool parseEntrySensorBayernrV2Setting3D
(
const XMLElement* pelement,
void* param
);
bool parseEntrySensorYnrV2
(
const XMLElement* pelement,
void* param
);
bool parseEntryYnrV2Setting
(
const XMLElement* pelement,
void* param,
int index
);
bool parseEntrySensorCnrV1
(
const XMLElement* pelement,
void* param
);
bool parseEntryCnrV1Setting
(
const XMLElement* pelement,
void* param,
int index
);
bool parseEntrySharpV3Setting
(
const XMLElement* pelement,
void* param,
int index
);
bool parseEntrySensorSharpV3
(
const XMLElement* pelement,
void* param
);
public:
explicit RkAiqCalibParser(CamCalibDbContext_t *pCalibDb);
virtual ~RkAiqCalibParser();
bool doParse(const char* device);
bool doGenerate(const char* deviceRef, const char* deviceOutput);
void updateXmlParseReadWriteFlag(int flag);
private:
CamCalibDbContext_t *mCalibDb;
#if defined(__linux__)
XCAM_DEAD_COPY (RkAiqCalibParser);
#endif
};
} //namespace RkCam
#endif