11bd4fe43Sopenharmony_ci/* 21bd4fe43Sopenharmony_ci * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED. 31bd4fe43Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 41bd4fe43Sopenharmony_ci * you may not use this file except in compliance with the License. 51bd4fe43Sopenharmony_ci * You may obtain a copy of the License at 61bd4fe43Sopenharmony_ci * 71bd4fe43Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 81bd4fe43Sopenharmony_ci * 91bd4fe43Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 101bd4fe43Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 111bd4fe43Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 121bd4fe43Sopenharmony_ci * See the License for the specific language governing permissions and 131bd4fe43Sopenharmony_ci * limitations under the License. 141bd4fe43Sopenharmony_ci */ 151bd4fe43Sopenharmony_ci 161bd4fe43Sopenharmony_ci#ifndef __MPI_ISP_H__ 171bd4fe43Sopenharmony_ci#define __MPI_ISP_H__ 181bd4fe43Sopenharmony_ci 191bd4fe43Sopenharmony_ci#include "hi_comm_isp.h" 201bd4fe43Sopenharmony_ci#include "hi_comm_sns.h" 211bd4fe43Sopenharmony_ci#include "hi_comm_3a.h" 221bd4fe43Sopenharmony_ci#include "hi_comm_video.h" 231bd4fe43Sopenharmony_ci 241bd4fe43Sopenharmony_ci#ifdef __cplusplus 251bd4fe43Sopenharmony_ci#if __cplusplus 261bd4fe43Sopenharmony_ciextern "C" { 271bd4fe43Sopenharmony_ci#endif 281bd4fe43Sopenharmony_ci#endif /* End of #ifdef __cplusplus */ 291bd4fe43Sopenharmony_ci 301bd4fe43Sopenharmony_ci/* Firmware Main Operation */ 311bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_Init(VI_PIPE ViPipe); 321bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_MemInit(VI_PIPE ViPipe); 331bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_Run(VI_PIPE ViPipe); 341bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_RunOnce(VI_PIPE ViPipe); 351bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_Exit(VI_PIPE ViPipe); 361bd4fe43Sopenharmony_ci 371bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SensorRegCallBack(VI_PIPE ViPipe, ISP_SNS_ATTR_INFO_S *pstSnsAttrInfo, 381bd4fe43Sopenharmony_ci ISP_SENSOR_REGISTER_S *pstRegister); 391bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SensorUnRegCallBack(VI_PIPE ViPipe, SENSOR_ID SensorId); 401bd4fe43Sopenharmony_ci 411bd4fe43Sopenharmony_ci/* if have registered multy libs, set bind attr to appoint the active lib. */ 421bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetBindAttr(VI_PIPE ViPipe, const ISP_BIND_ATTR_S *pstBindAttr); 431bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetBindAttr(VI_PIPE ViPipe, ISP_BIND_ATTR_S *pstBindAttr); 441bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_AELibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib, 451bd4fe43Sopenharmony_ci ISP_AE_REGISTER_S *pstRegister); 461bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_AWBLibRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib, 471bd4fe43Sopenharmony_ci ISP_AWB_REGISTER_S *pstRegister); 481bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_AELibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAeLib); 491bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_AWBLibUnRegCallBack(VI_PIPE ViPipe, ALG_LIB_S *pstAwbLib); 501bd4fe43Sopenharmony_ci 511bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetLightboxGain(VI_PIPE ViPipe, ISP_AWB_Calibration_Gain_S *pstAWBCalibrationGain); 521bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetPubAttr(VI_PIPE ViPipe, const ISP_PUB_ATTR_S *pstPubAttr); 531bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetPubAttr(VI_PIPE ViPipe, ISP_PUB_ATTR_S *pstPubAttr); 541bd4fe43Sopenharmony_ci 551bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetPipeDifferAttr(VI_PIPE ViPipe, const ISP_PIPE_DIFF_ATTR_S *pstPipeDiffer); 561bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetPipeDifferAttr(VI_PIPE ViPipe, ISP_PIPE_DIFF_ATTR_S *pstPipeDiffer); 571bd4fe43Sopenharmony_ci 581bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetVDTimeOut(VI_PIPE ViPipe, ISP_VD_TYPE_E enIspVDType, HI_U32 u32MilliSec); 591bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_QueryInnerStateInfo(VI_PIPE ViPipe, ISP_INNER_STATE_INFO_S *pstInnerStateInfo); 601bd4fe43Sopenharmony_ci 611bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetAEStatistics(VI_PIPE ViPipe, ISP_AE_STATISTICS_S *pstAeStat); 621bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetAEStitchStatistics(VI_PIPE ViPipe, ISP_AE_STITCH_STATISTICS_S *pstStitchStat); 631bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetMGStatistics(VI_PIPE ViPipe, ISP_MG_STATISTICS_S *pstMgStat); 641bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetWBStatistics(VI_PIPE ViPipe, ISP_WB_STATISTICS_S *pstWBStat); 651bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetWBStitchStatistics(VI_PIPE ViPipe, ISP_WB_STITCH_STATISTICS_S *pstStitchWBStat); 661bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetFocusStatistics(VI_PIPE ViPipe, ISP_AF_STATISTICS_S *pstAfStat); 671bd4fe43Sopenharmony_ci 681bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetStatisticsConfig(VI_PIPE ViPipe, const ISP_STATISTICS_CFG_S *pstStatCfg); 691bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetStatisticsConfig(VI_PIPE ViPipe, ISP_STATISTICS_CFG_S *pstStatCfg); 701bd4fe43Sopenharmony_ci 711bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetISPRegAttr(VI_PIPE ViPipe, ISP_REG_ATTR_S *pstIspRegAttr); 721bd4fe43Sopenharmony_ci 731bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetFMWState(VI_PIPE ViPipe, const ISP_FMW_STATE_E enState); 741bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetFMWState(VI_PIPE ViPipe, ISP_FMW_STATE_E *penState); 751bd4fe43Sopenharmony_ci 761bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDebug(VI_PIPE ViPipe, const ISP_DEBUG_INFO_S *pstIspDebug); 771bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDebug(VI_PIPE ViPipe, ISP_DEBUG_INFO_S *pstIspDebug); 781bd4fe43Sopenharmony_ci 791bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetModParam(const ISP_MOD_PARAM_S *pstModParam); 801bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetModParam(ISP_MOD_PARAM_S *pstModParam); 811bd4fe43Sopenharmony_ci 821bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetCtrlParam(VI_PIPE ViPipe, const ISP_CTRL_PARAM_S *pstIspCtrlParam); 831bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetCtrlParam(VI_PIPE ViPipe, ISP_CTRL_PARAM_S *pstIspCtrlParam); 841bd4fe43Sopenharmony_ci 851bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetFSWDRAttr(VI_PIPE ViPipe, const ISP_WDR_FS_ATTR_S *pstFSWDRAttr); 861bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetFSWDRAttr(VI_PIPE ViPipe, ISP_WDR_FS_ATTR_S *pstFSWDRAttr); 871bd4fe43Sopenharmony_ci 881bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDRCAttr(VI_PIPE ViPipe, const ISP_DRC_ATTR_S *pstDRC); 891bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDRCAttr(VI_PIPE ViPipe, ISP_DRC_ATTR_S *pstDRC); 901bd4fe43Sopenharmony_ci 911bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDehazeAttr(VI_PIPE ViPipe, const ISP_DEHAZE_ATTR_S *pstDehazeAttr); 921bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDehazeAttr(VI_PIPE ViPipe, ISP_DEHAZE_ATTR_S *pstDehazeAttr); 931bd4fe43Sopenharmony_ci 941bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetLDCIAttr(VI_PIPE ViPipe, const ISP_LDCI_ATTR_S *pstLDCIAttr); 951bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetLDCIAttr(VI_PIPE ViPipe, ISP_LDCI_ATTR_S *pstLDCIAttr); 961bd4fe43Sopenharmony_ci 971bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetSnsSlaveAttr(SLAVE_DEV SlaveDev, const ISP_SLAVE_SNS_SYNC_S *pstSnsSync); 981bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetSnsSlaveAttr(SLAVE_DEV SlaveDev, ISP_SLAVE_SNS_SYNC_S *pstSnsSync); 991bd4fe43Sopenharmony_ci 1001bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetModuleControl(VI_PIPE ViPipe, const ISP_MODULE_CTRL_U *punModCtrl); 1011bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetModuleControl(VI_PIPE ViPipe, ISP_MODULE_CTRL_U *punModCtrl); 1021bd4fe43Sopenharmony_ci 1031bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDPCalibrate(VI_PIPE ViPipe, const ISP_DP_STATIC_CALIBRATE_S *pstDPCalibrate); 1041bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDPCalibrate(VI_PIPE ViPipe, ISP_DP_STATIC_CALIBRATE_S *pstDPCalibrate); 1051bd4fe43Sopenharmony_ci 1061bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDPStaticAttr(VI_PIPE ViPipe, const ISP_DP_STATIC_ATTR_S *pstDPStaticAttr); 1071bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDPStaticAttr(VI_PIPE ViPipe, ISP_DP_STATIC_ATTR_S *pstDPStaticAttr); 1081bd4fe43Sopenharmony_ci 1091bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDPDynamicAttr(VI_PIPE ViPipe, const ISP_DP_DYNAMIC_ATTR_S *pstDPDynamicAttr); 1101bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDPDynamicAttr(VI_PIPE ViPipe, ISP_DP_DYNAMIC_ATTR_S *pstDPDynamicAttr); 1111bd4fe43Sopenharmony_ci 1121bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDISAttr(VI_PIPE ViPipe, const ISP_DIS_ATTR_S *pstDISAttr); 1131bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDISAttr(VI_PIPE ViPipe, ISP_DIS_ATTR_S *pstDISAttr); 1141bd4fe43Sopenharmony_ci 1151bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetMeshShadingAttr(VI_PIPE ViPipe, const ISP_SHADING_ATTR_S *pstShadingAttr); 1161bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetMeshShadingAttr(VI_PIPE ViPipe, ISP_SHADING_ATTR_S *pstShadingAttr); 1171bd4fe43Sopenharmony_ci 1181bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetMeshShadingGainLutAttr(VI_PIPE ViPipe, const ISP_SHADING_LUT_ATTR_S *pstShadingGainLutAttr); 1191bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetMeshShadingGainLutAttr(VI_PIPE ViPipe, ISP_SHADING_LUT_ATTR_S *pstShadingGainLutAttr); 1201bd4fe43Sopenharmony_ci 1211bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetAutoColorShadingAttr(VI_PIPE ViPipe, const ISP_ACS_ATTR_S *pstACSAttr); 1221bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetAutoColorShadingAttr(VI_PIPE ViPipe, ISP_ACS_ATTR_S *pstACSAttr); 1231bd4fe43Sopenharmony_ci 1241bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetRadialShadingAttr(VI_PIPE ViPipe, const ISP_RADIAL_SHADING_ATTR_S *pstRaShadingAttr); 1251bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetRadialShadingAttr(VI_PIPE ViPipe, ISP_RADIAL_SHADING_ATTR_S *pstRaShadingAttr); 1261bd4fe43Sopenharmony_ci 1271bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetRadialShadingLUT(VI_PIPE ViPipe, const ISP_RADIAL_SHADING_LUT_ATTR_S *pstRaShadingLutAttr); 1281bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetRadialShadingLUT(VI_PIPE ViPipe, ISP_RADIAL_SHADING_LUT_ATTR_S *pstRaShadingLutAttr); 1291bd4fe43Sopenharmony_ci 1301bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_MeshShadingCalibration(VI_PIPE ViPipe, HI_U16 *pu16SrcRaw, ISP_MLSC_CALIBRATION_CFG_S *pstMLSCCaliCfg, 1311bd4fe43Sopenharmony_ci ISP_MESH_SHADING_TABLE_S *pstMLSCTable); 1321bd4fe43Sopenharmony_ci 1331bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_RadialShadingCalibration(VI_PIPE ViPipe, HI_U16 *pu16SrcRaw, 1341bd4fe43Sopenharmony_ci ISP_RLSC_CALIBRATION_CFG_S *pstRLSCCaliCfg, ISP_RADIAL_SHADING_TABLE_S *pstRLSCTable); 1351bd4fe43Sopenharmony_ci 1361bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetNRAttr(VI_PIPE ViPipe, const ISP_NR_ATTR_S *pstNRAttr); 1371bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetNRAttr(VI_PIPE ViPipe, ISP_NR_ATTR_S *pstNRAttr); 1381bd4fe43Sopenharmony_ci 1391bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDEAttr(VI_PIPE ViPipe, const ISP_DE_ATTR_S *pstDEAttr); 1401bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDEAttr(VI_PIPE ViPipe, ISP_DE_ATTR_S *pstDEAttr); 1411bd4fe43Sopenharmony_ci 1421bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetColorToneAttr(VI_PIPE ViPipe, const ISP_COLOR_TONE_ATTR_S *pstCTAttr); 1431bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetColorToneAttr(VI_PIPE ViPipe, ISP_COLOR_TONE_ATTR_S *pstCTAttr); 1441bd4fe43Sopenharmony_ci 1451bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetGammaAttr(VI_PIPE ViPipe, const ISP_GAMMA_ATTR_S *pstGammaAttr); 1461bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetGammaAttr(VI_PIPE ViPipe, ISP_GAMMA_ATTR_S *pstGammaAttr); 1471bd4fe43Sopenharmony_ci 1481bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetPreGammaAttr(VI_PIPE ViPipe, const ISP_PREGAMMA_ATTR_S *pstPreGammaAttr); 1491bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetPreGammaAttr(VI_PIPE ViPipe, ISP_PREGAMMA_ATTR_S *pstPreGammaAttr); 1501bd4fe43Sopenharmony_ci 1511bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetPreLogLUTAttr(VI_PIPE ViPipe, const ISP_PRELOGLUT_ATTR_S *pstPreLogLUTAttr); 1521bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetPreLogLUTAttr(VI_PIPE ViPipe, ISP_PRELOGLUT_ATTR_S *pstPreLogLUTAttr); 1531bd4fe43Sopenharmony_ci 1541bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetLogLUTAttr(VI_PIPE ViPipe, const ISP_LOGLUT_ATTR_S *pstLogLUTAttr); 1551bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetLogLUTAttr(VI_PIPE ViPipe, ISP_LOGLUT_ATTR_S *pstLogLUTAttr); 1561bd4fe43Sopenharmony_ci 1571bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetLocalCacAttr(VI_PIPE ViPipe, const ISP_LOCAL_CAC_ATTR_S *pstLocalCacAttr); 1581bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetLocalCacAttr(VI_PIPE ViPipe, ISP_LOCAL_CAC_ATTR_S *pstLocalCacAttr); 1591bd4fe43Sopenharmony_ci 1601bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetGlobalCacAttr(VI_PIPE ViPipe, const ISP_GLOBAL_CAC_ATTR_S *pstGlobalCacAttr); 1611bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetGlobalCacAttr(VI_PIPE ViPipe, ISP_GLOBAL_CAC_ATTR_S *pstGlobalCacAttr); 1621bd4fe43Sopenharmony_ci 1631bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetRcAttr(VI_PIPE ViPipe, const ISP_RC_ATTR_S *pstRcAttr); 1641bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetRcAttr(VI_PIPE ViPipe, ISP_RC_ATTR_S *pstRcAttr); 1651bd4fe43Sopenharmony_ci 1661bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetIspSharpenAttr(VI_PIPE ViPipe, const ISP_SHARPEN_ATTR_S *pstIspShpAttr); 1671bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetIspSharpenAttr(VI_PIPE ViPipe, ISP_SHARPEN_ATTR_S *pstIspShpAttr); 1681bd4fe43Sopenharmony_ci 1691bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetIspEdgeMarkAttr(VI_PIPE ViPipe, const ISP_EDGEMARK_ATTR_S *pstIspEdgeMarkAttr); 1701bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetIspEdgeMarkAttr(VI_PIPE ViPipe, ISP_EDGEMARK_ATTR_S *pstIspEdgeMarkAttr); 1711bd4fe43Sopenharmony_ci 1721bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetIspHlcAttr(VI_PIPE ViPipe, const ISP_HLC_ATTR_S *pstIspHlcAttr); 1731bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetIspHlcAttr(VI_PIPE ViPipe, ISP_HLC_ATTR_S *pstIspHlcAttr); 1741bd4fe43Sopenharmony_ci 1751bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetCrosstalkAttr(VI_PIPE ViPipe, const ISP_CR_ATTR_S *pstCRAttr); 1761bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetCrosstalkAttr(VI_PIPE ViPipe, ISP_CR_ATTR_S *pstCRAttr); 1771bd4fe43Sopenharmony_ci 1781bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetCAAttr(VI_PIPE ViPipe, const ISP_CA_ATTR_S *pstCAAttr); 1791bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetCAAttr(VI_PIPE ViPipe, ISP_CA_ATTR_S *pstCAAttr); 1801bd4fe43Sopenharmony_ci 1811bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetAntiFalseColorAttr(VI_PIPE ViPipe, const ISP_ANTIFALSECOLOR_ATTR_S *pstAntiFalseColor); 1821bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetAntiFalseColorAttr(VI_PIPE ViPipe, ISP_ANTIFALSECOLOR_ATTR_S *pstAntiFalseColor); 1831bd4fe43Sopenharmony_ci 1841bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDemosaicAttr(VI_PIPE ViPipe, const ISP_DEMOSAIC_ATTR_S *pstDemosaicAttr); 1851bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDemosaicAttr(VI_PIPE ViPipe, ISP_DEMOSAIC_ATTR_S *pstDemosaicAttr); 1861bd4fe43Sopenharmony_ci 1871bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetBlackLevelAttr(VI_PIPE ViPipe, const ISP_BLACK_LEVEL_S *pstBlackLevel); 1881bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetBlackLevelAttr(VI_PIPE ViPipe, ISP_BLACK_LEVEL_S *pstBlackLevel); 1891bd4fe43Sopenharmony_ci 1901bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetClutAttr(VI_PIPE ViPipe, const ISP_CLUT_ATTR_S *pstClutAttr); 1911bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetClutAttr(VI_PIPE ViPipe, ISP_CLUT_ATTR_S *pstClutAttr); 1921bd4fe43Sopenharmony_ci 1931bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetClutCoeff(VI_PIPE ViPipe, const ISP_CLUT_LUT_S *pstClutLUT); 1941bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetClutCoeff(VI_PIPE ViPipe, ISP_CLUT_LUT_S *pstClutLUT); 1951bd4fe43Sopenharmony_ci 1961bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDCFInfo(VI_PIPE ViPipe, const ISP_DCF_INFO_S *pstIspDCF); 1971bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDCFInfo(VI_PIPE ViPipe, ISP_DCF_INFO_S *pstIspDCF); 1981bd4fe43Sopenharmony_ci 1991bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetCSCAttr(VI_PIPE ViPipe, const ISP_CSC_ATTR_S *pstCSCAttr); 2001bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetCSCAttr(VI_PIPE ViPipe, ISP_CSC_ATTR_S *pstCSCFAttr); 2011bd4fe43Sopenharmony_ci 2021bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetRGBIRAttr(VI_PIPE ViPipe, const ISP_RGBIR_ATTR_S *pstRGBIRAttr); 2031bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetRGBIRAttr(VI_PIPE ViPipe, ISP_RGBIR_ATTR_S *pstRGBIRAttr); 2041bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetRegister(VI_PIPE ViPipe, HI_U32 u32Addr, HI_U32 u32Value); 2051bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetRegister(VI_PIPE ViPipe, HI_U32 u32Addr, HI_U32 *pu32Value); 2061bd4fe43Sopenharmony_ci 2071bd4fe43Sopenharmony_ci/* block, return fpn frame when this is function is called. */ 2081bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_FPNCalibrate(VI_PIPE ViPipe, ISP_FPN_CALIBRATE_ATTR_S *pstCalibrateAttr); 2091bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetFPNAttr(VI_PIPE ViPipe, const ISP_FPN_ATTR_S *pstFPNAttr); 2101bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetFPNAttr(VI_PIPE ViPipe, ISP_FPN_ATTR_S *pstFPNAttr); 2111bd4fe43Sopenharmony_ci 2121bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDngImageStaticInfo(VI_PIPE ViPipe, DNG_IMAGE_STATIC_INFO_S *pstDngImageStaticInfo); 2131bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetDngColorParam(VI_PIPE ViPipe, const ISP_DNG_COLORPARAM_S *pstDngColorParam); 2141bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetDngColorParam(VI_PIPE ViPipe, ISP_DNG_COLORPARAM_S *pstDngColorParam); 2151bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_IrAutoRunOnce(VI_PIPE ViPipe, ISP_IR_AUTO_ATTR_S *pstIrAttr); 2161bd4fe43Sopenharmony_ci 2171bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetSmartInfo(VI_PIPE ViPipe, const ISP_SMART_INFO_S *pstSmartInfo); 2181bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetSmartInfo(VI_PIPE ViPipe, ISP_SMART_INFO_S *pstSmartInfo); 2191bd4fe43Sopenharmony_ci 2201bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_CalcFlickerType(VI_PIPE ViPipe, ISP_CALCFLICKER_INPUT_S *pstInputParam, 2211bd4fe43Sopenharmony_ci ISP_CALCFLICKER_OUTPUT_S *pstOutputParam, VIDEO_FRAME_INFO_S stFrame[], 2221bd4fe43Sopenharmony_ci HI_U32 u32ArraySize); 2231bd4fe43Sopenharmony_ci 2241bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_SetRawPos(VI_PIPE ViPipe, const ISP_RAW_POS *rawPos); 2251bd4fe43Sopenharmony_ciHI_S32 HI_MPI_ISP_GetRawPos(VI_PIPE ViPipe, ISP_RAW_POS *rawPos); 2261bd4fe43Sopenharmony_ci 2271bd4fe43Sopenharmony_ci#ifdef __cplusplus 2281bd4fe43Sopenharmony_ci#if __cplusplus 2291bd4fe43Sopenharmony_ci} 2301bd4fe43Sopenharmony_ci#endif 2311bd4fe43Sopenharmony_ci#endif /* End of #ifdef __cplusplus */ 2321bd4fe43Sopenharmony_ci 2331bd4fe43Sopenharmony_ci#endif /* __MPI_ISP_H__ */ 234