/********************************************************************************** * * Copyright (c) 2019-2020 Beijing AXera Technology Co., Ltd. All Rights Reserved. * * This source file is the property of Beijing AXera Technology Co., Ltd. and * may not be copied or distributed in any isomorphic form without the prior * written consent of Beijing AXera Technology Co., Ltd. * **********************************************************************************/ #ifndef _AX_ISP_3A_API_H_ #define _AX_ISP_3A_API_H_ #include "ax_base_type.h" #include "ax_isp_api.h" #include "ax_isp_3a_struct.h" #include "ax_sensor_struct.h" #include "ax_lens_iris_struct.h" #include "ax_lens_af_struct.h" #ifdef __cplusplus extern "C" { #endif AX_S32 AX_ISP_IQ_SetAwbParam(AX_U8 pipe, AX_ISP_IQ_AWB_PARAM_T *pIspAwbParam); AX_S32 AX_ISP_IQ_GetAwbParam(AX_U8 pipe, AX_ISP_IQ_AWB_PARAM_T *pIspAwbParam); AX_S32 AX_ISP_IQ_GetAwbStatus(AX_U8 pipe, AX_ISP_IQ_AWB_STATUS_T *pIspAwbStatus); AX_S32 AX_ISP_IQ_SetAeParam(AX_U8 pipe, AX_ISP_IQ_AE_PARAM_T *pIspAeParam); AX_S32 AX_ISP_IQ_GetAeParam(AX_U8 pipe, AX_ISP_IQ_AE_PARAM_T *pIspAeParam); AX_S32 AX_ISP_IQ_GetAeStatus(AX_U8 pipe, AX_ISP_IQ_AE_STATUS_T *pIspAeStatus); AX_S32 AX_ISP_IQ_GetAeHwLimit(AX_U8 pipe, AX_ISP_IQ_EXP_HW_LIMIT_T *pIspAeHwLimit); AX_S32 AX_ISP_IQ_CalibrateAeLuxK(AX_U8 pipe, AX_ISP_IQ_LUX_K_CALIB_INPUT_T *pIspAeLuxk); AX_U32 AX_ISP_IQ_GetAeLuxK(AX_U8 pipe); AX_S32 AX_ISP_ALG_AeGetScanStatus(AX_U8 pipe, AX_ISP_AE_SCAN_STATUS *pScanStatusToUI); AX_S32 AX_ISP_ALG_AeAgainScanStart(AX_U8 pipe); AX_S32 AX_ISP_ALG_AeDgainScanStart(AX_U8 pipe); AX_S32 AX_ISP_ALG_AeShutterScanStart(AX_U8 pipe); AX_S32 AX_ISP_ALG_AeRegisterSensor(AX_U8 pipe, AX_SENSOR_REGISTER_FUNC_T *pSensorHandle); AX_S32 AX_ISP_ALG_AeUnRegisterSensor(AX_U8 pipe); AX_S32 AX_ISP_ALG_AeRegisterLensIris(AX_U8 pipe, AX_LENS_ACTUATOR_IRIS_FUNC_T *ptLensIrisReg); AX_S32 AX_ISP_ALG_AeUnRegisterLensIris(AX_U8 pipe); /* Callback Functions Called by the AX Platform 3A Framework. */ AX_S32 AX_ISP_ALG_AeInit(AX_U8 pipe, AX_ISP_AE_INITATTR_T *pAeInitParam, AX_ISP_AE_RESULT_T *pAeResult); AX_S32 AX_ISP_ALG_AeDeInit(AX_U8 pipe); AX_S32 AX_ISP_ALG_AeRun(AX_U8 pipe, AX_ISP_AE_INPUT_INFO_T *pAeInputInfo, AX_ISP_AE_RESULT_T *pAeResult); AX_S32 AX_ISP_ALG_AwbInit(AX_U8 pipe, AX_ISP_AWB_INITATTR_T *pAwbInitParam); AX_S32 AX_ISP_ALG_AwbRun(AX_U8 pipe, AX_ISP_AWB_INPUT_INFO_T *pAwbInputInfo, AX_ISP_AWB_RESULT_T *pAeResult); AX_S32 AX_ISP_ALG_AwbDeInit(AX_U8 pipe); AX_S32 AX_ISP_3A_LoadBinParams(AX_U8 pipe, const AX_CHAR *pFileName); AX_S32 AX_ISP_IQ_GetDayNightStatus(AX_U8 pipe, AX_U32 *dayNightMode); AX_S32 AX_ISP_IQ_SetIrParam(AX_U8 pipe, AX_ISP_IQ_IR_PARAM_T *pIspIrParam); #ifdef __cplusplus } #endif #endif //_AX_ISP_3A_H_