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_VI_H 171bd4fe43Sopenharmony_ci#define MPI_VI_H 181bd4fe43Sopenharmony_ci 191bd4fe43Sopenharmony_ci#include "hi_comm_vi.h" 201bd4fe43Sopenharmony_ci#include "hi_comm_dis.h" 211bd4fe43Sopenharmony_ci#include "hi_comm_gdc.h" 221bd4fe43Sopenharmony_ci#include "hi_comm_vb.h" 231bd4fe43Sopenharmony_ci 241bd4fe43Sopenharmony_ci#ifdef __cplusplus 251bd4fe43Sopenharmony_ci#if __cplusplus 261bd4fe43Sopenharmony_ciextern "C" { 271bd4fe43Sopenharmony_ci#endif 281bd4fe43Sopenharmony_ci#endif /* __cplusplus */ 291bd4fe43Sopenharmony_ci 301bd4fe43Sopenharmony_ci/* 1 for vi device */ 311bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetDevAttr(VI_DEV ViDev, const VI_DEV_ATTR_S *pstDevAttr); 321bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetDevAttr(VI_DEV ViDev, VI_DEV_ATTR_S *pstDevAttr); 331bd4fe43Sopenharmony_ci 341bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetDevAttrEx(VI_DEV ViDev, const VI_DEV_ATTR_EX_S *pstDevAttrEx); 351bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetDevAttrEx(VI_DEV ViDev, VI_DEV_ATTR_EX_S *pstDevAttrEx); 361bd4fe43Sopenharmony_ci 371bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetVSSignalAttr(VI_DEV ViDev, const VI_VS_SIGNAL_ATTR_S *pstVSSignalAttr); 381bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetVSSignalAttr(VI_DEV ViDev, VI_VS_SIGNAL_ATTR_S *pstVSSignalAttr); 391bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_TriggerVSSignal(VI_DEV ViDev, HI_BOOL bEnable); 401bd4fe43Sopenharmony_ci 411bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_EnableDev(VI_DEV ViDev); 421bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_DisableDev(VI_DEV ViDev); 431bd4fe43Sopenharmony_ci 441bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetMipiBindDev(VI_DEV ViDev, MIPI_DEV MipiDev); 451bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetMipiBindDev(VI_DEV ViDev, MIPI_DEV *pMipiDev); 461bd4fe43Sopenharmony_ci 471bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetDevBindPipe(VI_DEV ViDev, const VI_DEV_BIND_PIPE_S *pstDevBindPipe); 481bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetDevBindPipe(VI_DEV ViDev, VI_DEV_BIND_PIPE_S *pstDevBindPipe); 491bd4fe43Sopenharmony_ci 501bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetDevTimingAttr(VI_DEV ViDev, const VI_DEV_TIMING_ATTR_S *pstTimingAttr); 511bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetDevTimingAttr(VI_DEV ViDev, VI_DEV_TIMING_ATTR_S *pstTimingAttr); 521bd4fe43Sopenharmony_ci 531bd4fe43Sopenharmony_ci/* 2 for vi pipe */ 541bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeCmpParam(VI_PIPE ViPipe, VI_CMP_PARAM_S *pCmpParam); 551bd4fe43Sopenharmony_ci 561bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetUserPic(VI_PIPE ViPipe, const VI_USERPIC_ATTR_S *pstUsrPic); 571bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_EnableUserPic(VI_PIPE ViPipe); 581bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_DisableUserPic(VI_PIPE ViPipe); 591bd4fe43Sopenharmony_ci 601bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_CreatePipe(VI_PIPE ViPipe, const VI_PIPE_ATTR_S *pstPipeAttr); 611bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_DestroyPipe(VI_PIPE ViPipe); 621bd4fe43Sopenharmony_ci 631bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeAttr(VI_PIPE ViPipe, const VI_PIPE_ATTR_S *pstPipeAttr); 641bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeAttr(VI_PIPE ViPipe, VI_PIPE_ATTR_S *pstPipeAttr); 651bd4fe43Sopenharmony_ci 661bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_StartPipe(VI_PIPE ViPipe); 671bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_StopPipe(VI_PIPE ViPipe); 681bd4fe43Sopenharmony_ci 691bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipePreCrop(VI_PIPE ViPipe, const CROP_INFO_S *pstCropInfo); 701bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipePreCrop(VI_PIPE ViPipe, CROP_INFO_S *pstCropInfo); 711bd4fe43Sopenharmony_ci 721bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipePostCrop(VI_PIPE ViPipe, const CROP_INFO_S *pstCropInfo); 731bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipePostCrop(VI_PIPE ViPipe, CROP_INFO_S *pstCropInfo); 741bd4fe43Sopenharmony_ci 751bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeFisheyeConfig(VI_PIPE ViPipe, const FISHEYE_CONFIG_S *pstFishEyeConfig); 761bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeFisheyeConfig(VI_PIPE ViPipe, FISHEYE_CONFIG_S *pstFishEyeConfig); 771bd4fe43Sopenharmony_ci 781bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_FisheyePosQueryDst2Src(VI_PIPE ViPipe, VI_CHN ViChn, HI_U32 u32RegionIndex, 791bd4fe43Sopenharmony_ci const POINT_S *pstDstPointIn, POINT_S *pstSrcPointOut); 801bd4fe43Sopenharmony_ci 811bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeDumpAttr(VI_PIPE ViPipe, const VI_DUMP_ATTR_S *pstDumpAttr); 821bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeDumpAttr(VI_PIPE ViPipe, VI_DUMP_ATTR_S *pstDumpAttr); 831bd4fe43Sopenharmony_ci 841bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeFrameSource(VI_PIPE ViPipe, const VI_PIPE_FRAME_SOURCE_E enSource); 851bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeFrameSource(VI_PIPE ViPipe, VI_PIPE_FRAME_SOURCE_E *penSource); 861bd4fe43Sopenharmony_ci 871bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeFrame(VI_PIPE ViPipe, VIDEO_FRAME_INFO_S *pstVideoFrame, HI_S32 s32MilliSec); 881bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_ReleasePipeFrame(VI_PIPE ViPipe, const VIDEO_FRAME_INFO_S *pstVideoFrame); 891bd4fe43Sopenharmony_ci 901bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SendPipeYUV(VI_PIPE ViPipe, const VIDEO_FRAME_INFO_S *pstVideoFrame, HI_S32 s32MilliSec); 911bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SendPipeRaw(HI_U32 u32PipeNum, VI_PIPE PipeId[], const VIDEO_FRAME_INFO_S *pstVideoFrame[], 921bd4fe43Sopenharmony_ci HI_S32 s32MilliSec); 931bd4fe43Sopenharmony_ci 941bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeNRXParam(VI_PIPE ViPipe, const VI_PIPE_NRX_PARAM_S *pstNrXParam); 951bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeNRXParam(VI_PIPE ViPipe, VI_PIPE_NRX_PARAM_S *pstNrXParam); 961bd4fe43Sopenharmony_ci 971bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeRepeatMode(VI_PIPE ViPipe, const VI_PIPE_REPEAT_MODE_E enRepeatMode); 981bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeRepeatMode(VI_PIPE ViPipe, VI_PIPE_REPEAT_MODE_E *penRepeatMode); 991bd4fe43Sopenharmony_ci 1001bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_QueryPipeStatus(VI_PIPE ViPipe, VI_PIPE_STATUS_S *pstStatus); 1011bd4fe43Sopenharmony_ci 1021bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_EnablePipeInterrupt(VI_PIPE ViPipe); 1031bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_DisablePipeInterrupt(VI_PIPE ViPipe); 1041bd4fe43Sopenharmony_ci 1051bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeVCNumber(VI_PIPE ViPipe, HI_U32 u32VCNumber); 1061bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeVCNumber(VI_PIPE ViPipe, HI_U32 *pu32VCNumber); 1071bd4fe43Sopenharmony_ci 1081bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeFrameInterruptAttr(VI_PIPE ViPipe, const FRAME_INTERRUPT_ATTR_S *pstFrameIntAttr); 1091bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeFrameInterruptAttr(VI_PIPE ViPipe, FRAME_INTERRUPT_ATTR_S *pstFrameIntAttr); 1101bd4fe43Sopenharmony_ci 1111bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetPipeBNRRawDumpAttr(VI_PIPE ViPipe, const BNR_DUMP_ATTR_S *pstBnrDumpAttr); 1121bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeBNRRawDumpAttr(VI_PIPE ViPipe, BNR_DUMP_ATTR_S *pstBnrDumpAttr); 1131bd4fe43Sopenharmony_ci 1141bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeBNRRaw(VI_PIPE ViPipe, VIDEO_FRAME_INFO_S *pstVideoFrame, HI_S32 s32MilliSec); 1151bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_ReleasePipeBNRRaw(VI_PIPE ViPipe, const VIDEO_FRAME_INFO_S *pstVideoFrame); 1161bd4fe43Sopenharmony_ci 1171bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_PipeAttachVbPool(VI_PIPE ViPipe, VB_POOL VbPool); 1181bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_PipeDetachVbPool(VI_PIPE ViPipe); 1191bd4fe43Sopenharmony_ci 1201bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetPipeFd(VI_PIPE ViPipe); 1211bd4fe43Sopenharmony_ci 1221bd4fe43Sopenharmony_ci/* 3 for vi chn */ 1231bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnAttr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_CHN_ATTR_S *pstChnAttr); 1241bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnAttr(VI_PIPE ViPipe, VI_CHN ViChn, VI_CHN_ATTR_S *pstChnAttr); 1251bd4fe43Sopenharmony_ci 1261bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_EnableChn(VI_PIPE ViPipe, VI_CHN ViChn); 1271bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_DisableChn(VI_PIPE ViPipe, VI_CHN ViChn); 1281bd4fe43Sopenharmony_ci 1291bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnCrop(VI_PIPE ViPipe, VI_CHN ViChn, const VI_CROP_INFO_S *pstCropInfo); 1301bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnCrop(VI_PIPE ViPipe, VI_CHN ViChn, VI_CROP_INFO_S *pstCropInfo); 1311bd4fe43Sopenharmony_ci 1321bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnRotation(VI_PIPE ViPipe, VI_CHN ViChn, const ROTATION_E enRotation); 1331bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnRotation(VI_PIPE ViPipe, VI_CHN ViChn, ROTATION_E *penRotation); 1341bd4fe43Sopenharmony_ci 1351bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnRotationEx(VI_PIPE ViPipe, VI_CHN ViChn, const VI_ROTATION_EX_ATTR_S *pstViRotationExAttr); 1361bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnRotationEx(VI_PIPE ViPipe, VI_CHN ViChn, VI_ROTATION_EX_ATTR_S *pstViRotationExAttr); 1371bd4fe43Sopenharmony_ci 1381bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnLDCAttr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_LDC_ATTR_S *pstLDCAttr); 1391bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnLDCAttr(VI_PIPE ViPipe, VI_CHN ViChn, VI_LDC_ATTR_S *pstLDCAttr); 1401bd4fe43Sopenharmony_ci 1411bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnLDCV2Attr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_LDCV2_ATTR_S *pstLDCV2Attr); 1421bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnLDCV2Attr(VI_PIPE ViPipe, VI_CHN ViChn, VI_LDCV2_ATTR_S *pstLDCV2Attr); 1431bd4fe43Sopenharmony_ci 1441bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnLDCV3Attr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_LDCV3_ATTR_S *pstLDCV3Attr); 1451bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnLDCV3Attr(VI_PIPE ViPipe, VI_CHN ViChn, VI_LDCV3_ATTR_S *pstLDCV3Attr); 1461bd4fe43Sopenharmony_ci 1471bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnSpreadAttr(VI_PIPE ViPipe, VI_CHN ViChn, const SPREAD_ATTR_S *pstSpreadAttr); 1481bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnSpreadAttr(VI_PIPE ViPipe, VI_CHN ViChn, SPREAD_ATTR_S *pstSpreadAttr); 1491bd4fe43Sopenharmony_ci 1501bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnLowDelayAttr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_LOW_DELAY_INFO_S *pstLowDelayInfo); 1511bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnLowDelayAttr(VI_PIPE ViPipe, VI_CHN ViChn, VI_LOW_DELAY_INFO_S *pstLowDelayInfo); 1521bd4fe43Sopenharmony_ci 1531bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnRegionLuma(VI_PIPE ViPipe, VI_CHN ViChn, const VIDEO_REGION_INFO_S *pstRegionInfo, 1541bd4fe43Sopenharmony_ci HI_U64 *pu64LumaData, HI_S32 s32MilliSec); 1551bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnDISConfig(VI_PIPE ViPipe, VI_CHN ViChn, const DIS_CONFIG_S *pstDISConfig); 1561bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnDISConfig(VI_PIPE ViPipe, VI_CHN ViChn, DIS_CONFIG_S *pstDISConfig); 1571bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnDISAttr(VI_PIPE ViPipe, VI_CHN ViChn, const DIS_ATTR_S *pstDISAttr); 1581bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnDISAttr(VI_PIPE ViPipe, VI_CHN ViChn, DIS_ATTR_S *pstDISAttr); 1591bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnDISParam(VI_PIPE ViPipe, VI_CHN ViChn, const DIS_PARAM_S *pstDISParam); 1601bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnDISParam(VI_PIPE ViPipe, VI_CHN ViChn, DIS_PARAM_S *pstDISParam); 1611bd4fe43Sopenharmony_ci 1621bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetExtChnFisheye(VI_PIPE ViPipe, VI_CHN ViChn, const FISHEYE_ATTR_S *pstFishEyeAttr); 1631bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetExtChnFisheye(VI_PIPE ViPipe, VI_CHN ViChn, FISHEYE_ATTR_S *pstFishEyeAttr); 1641bd4fe43Sopenharmony_ci 1651bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetExtChnAttr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_EXT_CHN_ATTR_S *pstExtChnAttr); 1661bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetExtChnAttr(VI_PIPE ViPipe, VI_CHN ViChn, VI_EXT_CHN_ATTR_S *pstExtChnAttr); 1671bd4fe43Sopenharmony_ci 1681bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnFrame(VI_PIPE ViPipe, VI_CHN ViChn, VIDEO_FRAME_INFO_S *pstFrameInfo, HI_S32 s32MilliSec); 1691bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_ReleaseChnFrame(VI_PIPE ViPipe, VI_CHN ViChn, const VIDEO_FRAME_INFO_S *pstFrameInfo); 1701bd4fe43Sopenharmony_ci 1711bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnEarlyInterrupt(VI_PIPE ViPipe, VI_CHN ViChn, const VI_EARLY_INTERRUPT_S *pstEarlyInterrupt); 1721bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnEarlyInterrupt(VI_PIPE ViPipe, VI_CHN ViChn, VI_EARLY_INTERRUPT_S *pstEarlyInterrupt); 1731bd4fe43Sopenharmony_ci 1741bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetChnAlign(VI_PIPE ViPipe, VI_CHN ViChn, HI_U32 u32Align); 1751bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnAlign(VI_PIPE ViPipe, VI_CHN ViChn, HI_U32 *pu32Align); 1761bd4fe43Sopenharmony_ci 1771bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_ChnAttachVbPool(VI_PIPE ViPipe, VI_CHN ViChn, VB_POOL VbPool); 1781bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_ChnDetachVbPool(VI_PIPE ViPipe, VI_CHN ViChn); 1791bd4fe43Sopenharmony_ci 1801bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_QueryChnStatus(VI_PIPE ViPipe, VI_CHN ViChn, VI_CHN_STATUS_S *pstChnStatus); 1811bd4fe43Sopenharmony_ci 1821bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetChnFd(VI_PIPE ViPipe, VI_CHN ViChn); 1831bd4fe43Sopenharmony_ci 1841bd4fe43Sopenharmony_ci/* 4 for vi stitch group */ 1851bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetStitchGrpAttr(VI_STITCH_GRP StitchGrp, const VI_STITCH_GRP_ATTR_S *pstStitchGrpAttr); 1861bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetStitchGrpAttr(VI_STITCH_GRP StitchGrp, VI_STITCH_GRP_ATTR_S *pstStitchGrpAttr); 1871bd4fe43Sopenharmony_ci 1881bd4fe43Sopenharmony_ci/* 5 for vi mcf group */ 1891bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetMcfAttr(VI_MCF_GRP McfGrp, const VI_MCF_GRP_ATTR_S *pstMcfGrpAttr); 1901bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetMcfAttr(VI_MCF_GRP McfGrp, VI_MCF_GRP_ATTR_S *pstMcfGrpAttr); 1911bd4fe43Sopenharmony_ci 1921bd4fe43Sopenharmony_ci/* 6 for vi module */ 1931bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_SetModParam(const VI_MOD_PARAM_S *pstModParam); 1941bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_GetModParam(VI_MOD_PARAM_S *pstModParam); 1951bd4fe43Sopenharmony_ci 1961bd4fe43Sopenharmony_ciHI_S32 HI_MPI_VI_CloseFd(HI_VOID); 1971bd4fe43Sopenharmony_ci 1981bd4fe43Sopenharmony_ci#ifdef __cplusplus 1991bd4fe43Sopenharmony_ci#if __cplusplus 2001bd4fe43Sopenharmony_ci} 2011bd4fe43Sopenharmony_ci#endif 2021bd4fe43Sopenharmony_ci#endif /* __cplusplus */ 2031bd4fe43Sopenharmony_ci 2041bd4fe43Sopenharmony_ci#endif /* MPI_VI_H */ 205