ax_isp_3a_api.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**********************************************************************************
  2. *
  3. * Copyright (c) 2019-2020 Beijing AXera Technology Co., Ltd. All Rights Reserved.
  4. *
  5. * This source file is the property of Beijing AXera Technology Co., Ltd. and
  6. * may not be copied or distributed in any isomorphic form without the prior
  7. * written consent of Beijing AXera Technology Co., Ltd.
  8. *
  9. **********************************************************************************/
  10. #ifndef _AX_ISP_3A_API_H_
  11. #define _AX_ISP_3A_API_H_
  12. #include "ax_base_type.h"
  13. #include "ax_isp_api.h"
  14. #include "ax_isp_3a_struct.h"
  15. #include "ax_sensor_struct.h"
  16. #include "ax_lens_iris_struct.h"
  17. #include "ax_lens_af_struct.h"
  18. #ifdef __cplusplus
  19. extern "C"
  20. {
  21. #endif
  22. AX_S32 AX_ISP_IQ_SetAwbParam(AX_U8 pipe, AX_ISP_IQ_AWB_PARAM_T *pIspAwbParam);
  23. AX_S32 AX_ISP_IQ_GetAwbParam(AX_U8 pipe, AX_ISP_IQ_AWB_PARAM_T *pIspAwbParam);
  24. AX_S32 AX_ISP_IQ_GetAwbStatus(AX_U8 pipe, AX_ISP_IQ_AWB_STATUS_T *pIspAwbStatus);
  25. AX_S32 AX_ISP_IQ_SetAeParam(AX_U8 pipe, AX_ISP_IQ_AE_PARAM_T *pIspAeParam);
  26. AX_S32 AX_ISP_IQ_GetAeParam(AX_U8 pipe, AX_ISP_IQ_AE_PARAM_T *pIspAeParam);
  27. AX_S32 AX_ISP_IQ_GetAeStatus(AX_U8 pipe, AX_ISP_IQ_AE_STATUS_T *pIspAeStatus);
  28. AX_S32 AX_ISP_IQ_GetAeHwLimit(AX_U8 pipe, AX_ISP_IQ_EXP_HW_LIMIT_T *pIspAeHwLimit);
  29. AX_S32 AX_ISP_IQ_CalibrateAeLuxK(AX_U8 pipe, AX_ISP_IQ_LUX_K_CALIB_INPUT_T *pIspAeLuxk);
  30. AX_U32 AX_ISP_IQ_GetAeLuxK(AX_U8 pipe);
  31. AX_S32 AX_ISP_ALG_AeGetScanStatus(AX_U8 pipe, AX_ISP_AE_SCAN_STATUS *pScanStatusToUI);
  32. AX_S32 AX_ISP_ALG_AeAgainScanStart(AX_U8 pipe);
  33. AX_S32 AX_ISP_ALG_AeDgainScanStart(AX_U8 pipe);
  34. AX_S32 AX_ISP_ALG_AeShutterScanStart(AX_U8 pipe);
  35. AX_S32 AX_ISP_ALG_AeRegisterSensor(AX_U8 pipe, AX_SENSOR_REGISTER_FUNC_T *pSensorHandle);
  36. AX_S32 AX_ISP_ALG_AeUnRegisterSensor(AX_U8 pipe);
  37. AX_S32 AX_ISP_ALG_AeRegisterLensIris(AX_U8 pipe, AX_LENS_ACTUATOR_IRIS_FUNC_T *ptLensIrisReg);
  38. AX_S32 AX_ISP_ALG_AeUnRegisterLensIris(AX_U8 pipe);
  39. /* Callback Functions Called by the AX Platform 3A Framework. */
  40. AX_S32 AX_ISP_ALG_AeInit(AX_U8 pipe, AX_ISP_AE_INITATTR_T *pAeInitParam, AX_ISP_AE_RESULT_T *pAeResult);
  41. AX_S32 AX_ISP_ALG_AeDeInit(AX_U8 pipe);
  42. AX_S32 AX_ISP_ALG_AeRun(AX_U8 pipe, AX_ISP_AE_INPUT_INFO_T *pAeInputInfo, AX_ISP_AE_RESULT_T *pAeResult);
  43. AX_S32 AX_ISP_ALG_AwbInit(AX_U8 pipe, AX_ISP_AWB_INITATTR_T *pAwbInitParam);
  44. AX_S32 AX_ISP_ALG_AwbRun(AX_U8 pipe, AX_ISP_AWB_INPUT_INFO_T *pAwbInputInfo, AX_ISP_AWB_RESULT_T *pAeResult);
  45. AX_S32 AX_ISP_ALG_AwbDeInit(AX_U8 pipe);
  46. AX_S32 AX_ISP_3A_LoadBinParams(AX_U8 pipe, const AX_CHAR *pFileName);
  47. AX_S32 AX_ISP_IQ_GetDayNightStatus(AX_U8 pipe, AX_U32 *dayNightMode);
  48. AX_S32 AX_ISP_IQ_SetIrParam(AX_U8 pipe, AX_ISP_IQ_IR_PARAM_T *pIspIrParam);
  49. #ifdef __cplusplus
  50. }
  51. #endif
  52. #endif //_AX_ISP_3A_H_