287 lines
7.0 KiB
C
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
|