android13/external/camera_engine_rkaiq/include/iq_parser/RkAiqCalibApi.h

287 lines
7.0 KiB
C

/*
* 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_API_H_
#define _RK_AIQ_CALIB_API_H_
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
//#include "tinyxml2.h"
#include "RkAiqCalibDbTypes.h"
#if defined(_MSC_VER)
#define strcasecmp _stricmp
#define snprintf(buf,len, format,...) _snprintf_s(buf, len, len-1, format, __VA_ARGS__)
#endif
#ifndef container_of
#define container_of(ptr, type, member) \
((type *)(((unsigned long)(unsigned char *)(ptr)) - (unsigned long)(&((type *)0)->member)))
#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 LOGE printf
#define LOG1 printf
#endif
bool AddAecCalibProfile2AecCalibList(struct list_head *profile_list, CalibDb_Aec_CalibPara_t* pAddAec);
bool GetAecProfileFromAecCalibListBySceneName(const struct list_head* profile_list, const char* name, CalibDb_Aec_CalibPara_t** pAecProfile, int *name_index = NULL);
bool GetAecProfileFromAecCalibListByIdx(const struct list_head* profile_list, int idx, const CalibDb_Aec_CalibPara_t** pAecProfile) ;
bool AddAecTuneProfile2AecTuneList(struct list_head *profile_list, CalibDb_Aec_TunePara_t* pAddAec);
bool GetAecProfileFromAecTuneListBySceneName(const struct list_head* profile_list, const char* name, CalibDb_Aec_TunePara_t** pAecProfile);
bool GetAecProfileFromAecTuneListByIdx(const struct list_head* profile_list, int idx, const CalibDb_Aec_TunePara_t** pAecProfile) ;
bool AddAwbCalibV200Profile2AwbCalibV200List(struct list_head *profile_list, CalibDb_Awb_Calib_Para_V200_t* pAddAwb);
bool GetAwbProfileFromAwbCalibV200ListBySceneName(const struct list_head* profile_list, const char* name, CalibDb_Awb_Calib_Para_V200_t** pAwbProfile, int *name_index = NULL);
bool GetAwbProfileFromAwbCalibV200ListByIdx(const struct list_head* profile_list, int idx, const CalibDb_Awb_Calib_Para_V200_t** pAwbProfile) ;
bool AddAwbCalibV201Profile2AwbCalibV201List(struct list_head *profile_list, CalibDb_Awb_Calib_Para_V201_t* pAddAwb);
bool GetAwbProfileFromAwbCalibV201ListBySceneName(const struct list_head* profile_list, const char* name, CalibDb_Awb_Calib_Para_V201_t** pAwbProfile, int *name_index = NULL);
bool GetAwbProfileFromAwbCalibV201ListByIdx(const struct list_head* profile_list, int idx, const CalibDb_Awb_Calib_Para_V201_t** pAwbProfile) ;
bool AddAwbAdjustProfile2AwbAdjustList(struct list_head *profile_list, CalibDb_Awb_Adjust_Para_t* pAddAwb);
bool GetAwbProfileFromAwbAdjustListBySceneName(const struct list_head* profile_list, const char* name, CalibDb_Awb_Adjust_Para_t** pAwbProfile);
bool GetAwbProfileFromAwbAdjustListByIdx(const struct list_head* profile_list, int idx, const CalibDb_Awb_Adjust_Para_t** pAwbProfile) ;
bool CamCalibDbCreate
(
CamCalibDbContext_t* pCamCalibDbCtx
);
bool CamCalibDbRelease
(
CamCalibDbContext_t* pCamCalibDbCtx
) ;
bool CamCalibdbAddBayernrV2Setting2DProfile
(
struct list_head *profile_list,
Calibdb_Bayernr_2Dparams_V2_t* pAdd
);
bool CamCalibdbGetBayernrV2Setting2DByName
(
const struct list_head* profile_list,
char* name,
Calibdb_Bayernr_2Dparams_V2_t** ppProfile
);
bool CamCalibdbGetBayernrV2Setting2DByIdx
(
const struct list_head* profile_list,
int idx,
Calibdb_Bayernr_2Dparams_V2_t** ppProfile
);
bool CamCalibdbAddBayernrV2Setting3DProfile
(
struct list_head *profile_list,
CalibDb_Bayernr_3DParams_V2_t* pAdd
);
bool CamCalibdbGetBayernrV2Setting3DByName
(
const struct list_head* profile_list,
char* name,
CalibDb_Bayernr_3DParams_V2_t** ppProfile
);
bool CamCalibdbGetBayernrV2Setting3DByIdx
(
const struct list_head* profile_list,
int idx,
CalibDb_Bayernr_3DParams_V2_t** ppProfile
);
bool CamCalibdbAddBayernrV2Profile
(
struct list_head *profile_list,
CalibDb_Bayernr_V2_t* pAdd
) ;
bool CamCalibdbGetBayernrV2ProfileByName
(
const struct list_head* profile_list,
char* name,
CalibDb_Bayernr_V2_t** ppProfile
);
bool CamCalibdbGetBayernrV2ProfileByIdx
(
const struct list_head* profile_list,
int idx,
CalibDb_Bayernr_V2_t** ppProfile
);
bool CamCalibdbAddYnrV2SettingProfile
(
struct list_head *profile_list,
Calibdb_Ynr_params_V2_t* pAdd
);
bool CamCalibdbGetYnrV2SettingByName
(
const struct list_head* profile_list,
char* name,
Calibdb_Ynr_params_V2_t** ppProfile
);
bool CamCalibdbGetYnrV2SettingByIdx
(
const struct list_head* profile_list,
int idx,
Calibdb_Ynr_params_V2_t** ppProfile
);
bool CamCalibdbAddYnrV2Profile
(
struct list_head *profile_list,
Calibdb_Ynr_V2_t* pAdd
);
bool CamCalibdbGetYnrV2ProfileByName
(
const struct list_head* profile_list,
char* name,
Calibdb_Ynr_V2_t** ppProfile
);
bool CamCalibdbGetYnrV2ProfileByIdx
(
const struct list_head* profile_list,
int idx,
Calibdb_Ynr_V2_t** ppProfile
);
bool CamCalibdbAddCnrV1SettingProfile
(
struct list_head *profile_list,
Calibdb_Cnr_params_V1_t* pAdd
);
bool CamCalibdbGetCnrV1SettingByName
(
const struct list_head* profile_list,
char* name,
Calibdb_Cnr_params_V1_t** ppProfile
);
bool CamCalibdbGetCnrV1SettingByIdx
(
const struct list_head* profile_list,
int idx,
Calibdb_Cnr_params_V1_t** ppProfile
) ;
bool CamCalibdbAddCnrV1Profile
(
struct list_head *profile_list,
Calibdb_Cnr_V1_t* pAdd
);
bool CamCalibdbGetCnrV1ProfileByName
(
const struct list_head* profile_list,
char* name,
Calibdb_Cnr_V1_t** ppProfile
);
bool CamCalibdbGetCnrV1ProfileByIdx
(
const struct list_head* profile_list,
int idx,
Calibdb_Cnr_V1_t** ppProfile
);
bool CamCalibdbAddSharpV3SettingProfile
(
struct list_head *profile_list,
Calibdb_Sharp_params_V3_t* pAdd
);
bool CamCalibdbGetSharpV3SettingByName
(
const struct list_head* profile_list,
char* name,
Calibdb_Sharp_params_V3_t** ppProfile
);
bool CamCalibdbGetSharpV3SettingByIdx
(
const struct list_head* profile_list,
int idx,
Calibdb_Sharp_params_V3_t** ppProfile
);
bool CamCalibdbAddSharpV3Profile
(
struct list_head *profile_list,
Calibdb_Sharp_V3_t* pAdd
);
bool CamCalibdbGetSharpV3ProfileByName
(
const struct list_head* profile_list,
char* name,
Calibdb_Sharp_V3_t** ppProfile
);
bool CamCalibdbGetSharpV3ProfileByIdx
(
const struct list_head* profile_list,
int idx,
Calibdb_Sharp_V3_t** ppProfile
);
#endif