130 lines
3.4 KiB
C
Executable File
130 lines
3.4 KiB
C
Executable File
|
|
/*
|
|
******************************************************************************
|
|
*
|
|
* MPI_AF.c
|
|
*
|
|
* Hawkview ISP - mpi_af.c module
|
|
*
|
|
* Copyright (c) 2016 by Allwinnertech Co., Ltd. http://www.allwinnertech.com
|
|
*
|
|
* Version Author Date Description
|
|
*
|
|
* 1.1 yuanxianfeng 2016/08/01 AF
|
|
*
|
|
*****************************************************************************
|
|
*/
|
|
|
|
#include "mpi_isp.h"
|
|
#include "mpi_af.h"
|
|
#include "isp_tuning.h"
|
|
#include "isp.h"
|
|
|
|
#if 0 /* not open customer */
|
|
AW_S32 AW_MPI_ISP_AF_SetVcmCode(ISP_DEV IspDev, ISP_AF_VCM_CODE_S *pVcmCode)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_set_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_VCM_CODE, pVcmCode);
|
|
isp_update(IspDev);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_GetVcmCode(ISP_DEV IspDev, ISP_AF_VCM_CODE_S *pVcmCode)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_get_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_VCM_CODE, pVcmCode);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_SetOtp(ISP_DEV IspDev, ISP_AF_OTP_S *pOtp)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_set_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_OTP, pOtp);
|
|
isp_update(IspDev);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_GetOtp(ISP_DEV IspDev, ISP_AF_OTP_S *pOtp)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_get_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_OTP, pOtp);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_SetSpeed(ISP_DEV IspDev, ISP_AF_SPEED_S *pSpeed)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_set_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_SPEED, pSpeed);
|
|
isp_update(IspDev);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_GetSpeed(ISP_DEV IspDev, ISP_AF_SPEED_S *pSpeed)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_get_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_SPEED, pSpeed);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_SetFineSearch(ISP_DEV IspDev, ISP_AF_FINE_SEARCH_S *pFineSearch)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_set_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_FINE_SEARCH, pFineSearch);
|
|
isp_update(IspDev);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_GetFineSearch(ISP_DEV IspDev, ISP_AF_FINE_SEARCH_S *pFineSearch)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_get_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_FINE_SEARCH, pFineSearch);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_SetRefocus(ISP_DEV IspDev, ISP_AF_REFOCUS_S *pRefocus)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_set_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_REFOCUS, pRefocus);
|
|
isp_update(IspDev);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_GetRefocus(ISP_DEV IspDev, ISP_AF_REFOCUS_S *pRefocus)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_get_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_REFOCUS, pRefocus);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_SetTolerance(ISP_DEV IspDev, ISP_AF_TOLERANCE_S *pTolerance)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_set_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_TOLERANCE, pTolerance);
|
|
isp_update(IspDev);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_GetTolerance(ISP_DEV IspDev, ISP_AF_TOLERANCE_S *pTolerance)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_get_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_TOLERANCE, pTolerance);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_SetScene(ISP_DEV IspDev, ISP_AF_SCENE_S *pScene)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_set_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_SCENE, pScene);
|
|
isp_update(IspDev);
|
|
return ret;
|
|
}
|
|
|
|
AW_S32 AW_MPI_ISP_AF_GetScene(ISP_DEV IspDev, ISP_AF_SCENE_S *pScene)
|
|
{
|
|
AW_S32 ret = FAILURE;
|
|
ret = isp_get_cfg(IspDev, HW_ISP_CFG_3A, HW_ISP_CFG_AF_SCENE, pScene);
|
|
return ret;
|
|
}
|
|
|
|
#endif
|