1 /* GPL-2.0 WITH Linux-syscall-note OR Apache 2.0 */ 2 /* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd */ 3 4 #ifndef INCLUDE_RT_MPI_MPI_VI_H_ 5 #define INCLUDE_RT_MPI_MPI_VI_H_ 6 7 #include "rk_comm_vi.h" 8 9 #ifdef __cplusplus 10 #if __cplusplus 11 extern "C" { 12 #endif 13 #endif /* __cplusplus */ 14 15 /* 1 for vi device */ 16 RK_S32 RK_MPI_VI_SetDevAttr(VI_DEV ViDev, const VI_DEV_ATTR_S *pstDevAttr); 17 RK_S32 RK_MPI_VI_GetDevAttr(VI_DEV ViDev, VI_DEV_ATTR_S *pstDevAttr); 18 RK_S32 RK_MPI_VI_EnableDev(VI_DEV ViDev); 19 RK_S32 RK_MPI_VI_DisableDev(VI_DEV ViDev); 20 RK_S32 RK_MPI_VI_SetDevBindPipe(VI_DEV ViDev, const VI_DEV_BIND_PIPE_S *pstDevBindPipe); 21 RK_S32 RK_MPI_VI_GetDevBindPipe(VI_DEV ViDev, VI_DEV_BIND_PIPE_S *pstDevBindPipe); 22 RK_S32 RK_MPI_VI_GetDevIsEnable(VI_DEV ViDev); 23 RK_S32 RK_MPI_VI_QueryDevStatus(VI_DEV Videv, VI_DEV_STATUS_S *pstDevStatus); 24 25 RK_S32 RK_MPI_VI_StartPipe(VI_PIPE ViPipe); 26 RK_S32 RK_MPI_VI_StopPipe(VI_PIPE ViPipe); 27 /* 2 for vi chn */ 28 RK_S32 RK_MPI_VI_SetChnAttr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_CHN_ATTR_S *pstChnAttr); 29 RK_S32 RK_MPI_VI_GetChnAttr(VI_PIPE ViPipe, VI_CHN ViChn, VI_CHN_ATTR_S *pstChnAttr); 30 31 RK_S32 RK_MPI_VI_EnableChn(VI_PIPE ViPipe, VI_CHN ViChn); 32 RK_S32 RK_MPI_VI_EnableChnExt(VI_PIPE ViPipe, VI_CHN ViChn); 33 RK_S32 RK_MPI_VI_DisableChn(VI_PIPE ViPipe, VI_CHN ViChn); 34 RK_S32 RK_MPI_VI_DisableChnExt(VI_PIPE ViPipe, VI_CHN ViChn); 35 RK_S32 RK_MPI_VI_PauseChn(VI_PIPE ViPipe, VI_CHN ViChn); 36 RK_S32 RK_MPI_VI_ResumeChn(VI_PIPE ViPipe, VI_CHN ViChn); 37 RK_S32 RK_MPI_VI_GetChnFrame(VI_PIPE ViPipe, VI_CHN ViChn, VIDEO_FRAME_INFO_S *pstFrameInfo, RK_S32 s32MilliSec); 38 RK_S32 RK_MPI_VI_ReleaseChnFrame(VI_PIPE ViPipe, VI_CHN ViChn, const VIDEO_FRAME_INFO_S *pstFrameInfo); 39 RK_S32 RK_MPI_VI_ChnSaveFile(VI_PIPE ViPipe, VI_CHN ViChn, VI_SAVE_FILE_INFO_S* pstSaveFileInfo); 40 RK_S32 RK_MPI_VI_QueryChnStatus(VI_PIPE ViPipe, VI_CHN ViChn, VI_CHN_STATUS_S *pstChnStatus); 41 RK_S32 RK_MPI_VI_GetChnWrapBufAttr(VI_PIPE ViPipe, VI_CHN ViChn, VI_CHN_BUF_WRAP_S *pstViWrap); 42 RK_S32 RK_MPI_VI_SetChnWrapBufAttr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_CHN_BUF_WRAP_S *pstViWrap); 43 RK_S32 RK_MPI_VI_GetChnFd(VI_PIPE ViPipe, VI_CHN ViChn); 44 RK_S32 RK_MPI_VI_CloseChnFd(VI_PIPE ViPipe, VI_CHN ViChn); 45 46 RK_S32 RK_MPI_VI_SetChnFreeze(VI_PIPE ViPipe, VI_CHN ViChn, RK_BOOL bFreeze); 47 RK_S32 RK_MPI_VI_GetChnFreeze(VI_PIPE ViPipe, VI_CHN ViChn, RK_BOOL *pbFreeze); 48 49 RK_S32 RK_MPI_VI_AttachMbPool(VI_PIPE ViPipe, VI_CHN ViChn, MB_POOL hMbPool); 50 RK_S32 RK_MPI_VI_DetachMbPool(VI_PIPE ViPipe, VI_CHN ViChn); 51 52 RK_S32 RK_MPI_VI_SetUserPic(VI_PIPE ViPipe, VI_CHN ViChn, const VI_USERPIC_ATTR_S *pstUsrPic); 53 RK_S32 RK_MPI_VI_EnableUserPic(VI_PIPE ViPipe, VI_CHN ViChn); 54 RK_S32 RK_MPI_VI_DisableUserPic(VI_PIPE ViPipe, VI_CHN ViChn); 55 56 RK_S32 RK_MPI_VI_GetChnConnectInfo(VI_PIPE ViPipe, VI_CHN ViChn, VI_CONNECT_INFO_S *pstConnectInfo); 57 RK_S32 RK_MPI_VI_SetChnEdid(VI_PIPE ViPipe, VI_CHN ViChn, const VI_EDID_S *pstEdid); 58 RK_S32 RK_MPI_VI_GetChnEdid(VI_PIPE ViPipe, VI_CHN ViChn, VI_EDID_S *pstEdid); 59 60 RK_S32 RK_MPI_VI_GetChnStreamCodec(VI_PIPE ViPipe, VI_CHN ViChn, RK_CODEC_ID_E *penCodecId); 61 RK_S32 RK_MPI_VI_SetChnStreamCodec(VI_PIPE ViPipe, VI_CHN ViChn, const RK_CODEC_ID_E enCodecId); 62 RK_S32 RK_MPI_VI_GetChnStream(VI_PIPE ViPipe, VI_CHN ViChn, VI_STREAM_S *pstStream, RK_S32 s32MilliSec); 63 RK_S32 RK_MPI_VI_ReleaseChnStream(VI_PIPE ViPipe, VI_CHN ViChn, const VI_STREAM_S *pstStream); 64 RK_S32 RK_MPI_VI_RegChnEventCallback(VI_PIPE ViPipe, VI_CHN ViChn, const VI_EVENT_CALL_BACK_S *pstCallback); 65 66 RK_S32 RK_MPI_VI_GetEptz(VI_PIPE ViPipe, VI_CHN ViChn, VI_CROP_INFO_S *stCropInfo); 67 RK_S32 RK_MPI_VI_SetEptz(VI_PIPE ViPipe, VI_CHN ViChn, VI_CROP_INFO_S stCropInfo); 68 RK_S32 RK_MPI_VI_GetChnMirrorFlip(VI_PIPE ViPipe, VI_CHN ViChn, VI_ISP_MIRROR_FLIP_S *pstMirrFlip); 69 RK_S32 RK_MPI_VI_SetChnMirrorFlip(VI_PIPE ViPipe, VI_CHN ViChn, VI_ISP_MIRROR_FLIP_S stMirrFlip); 70 #ifdef __cplusplus 71 #if __cplusplus 72 } 73 #endif 74 #endif /* __cplusplus */ 75 76 #endif /* INCLUDE_RT_MPI_MPI_VI_H_ */ 77 78 79