1*4882a593Smuzhiyun /* GPL-2.0 WITH Linux-syscall-note OR Apache 2.0 */ 2*4882a593Smuzhiyun /* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd */ 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #ifndef INCLUDE_RT_MPI_GDC_H_ 5*4882a593Smuzhiyun #define INCLUDE_RT_MPI_GDC_H_ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #include "rk_common.h" 8*4882a593Smuzhiyun #include "rk_comm_video.h" 9*4882a593Smuzhiyun #include "rk_comm_gdc.h" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #ifdef __cplusplus 12*4882a593Smuzhiyun #if __cplusplus 13*4882a593Smuzhiyun extern "C" { 14*4882a593Smuzhiyun #endif 15*4882a593Smuzhiyun #endif /*__cplusplus*/ 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_BeginJob(GDC_HANDLE *phHandle); 18*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_EndJob(GDC_HANDLE hHandle); 19*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_CancelJob(GDC_HANDLE hHandle); 20*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_StopJob(GDC_HANDLE hHandle); 21*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_SetConfig(GDC_HANDLE hHandle, const FISHEYE_JOB_CONFIG_S *pstJobConfig); 22*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_AddCorrectionTask(GDC_HANDLE hHandle, 23*4882a593Smuzhiyun const GDC_TASK_ATTR_S *pstTask, 24*4882a593Smuzhiyun const FISHEYE_ATTR_S *pstFisheyeAttr); 25*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_AddCorrectionExTask(GDC_HANDLE hHandle, 26*4882a593Smuzhiyun const GDC_TASK_ATTR_S *pstTask, 27*4882a593Smuzhiyun const FISHEYE_ATTR_EX_S *pstFishEyeAttrrEx, 28*4882a593Smuzhiyun RK_BOOL bCheckMode); 29*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_AddPMFTask(GDC_HANDLE hHandle, 30*4882a593Smuzhiyun const GDC_TASK_ATTR_S *pstTask, 31*4882a593Smuzhiyun const GDC_PMF_ATTR_S *pstGdcPmfAttrr); 32*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_FisheyePosQueryDst2Src(const GDC_FISHEYE_POINT_QUERY_ATTR_S *pstFisheyePointQueryAttr, 33*4882a593Smuzhiyun const VIDEO_FRAME_INFO_S *pstVideoInfo, 34*4882a593Smuzhiyun const POINT_S *pstDstPoint, 35*4882a593Smuzhiyun POINT_S *pstSrcPoint); 36*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_FisheyePosQueryDst2SrcArray(const GDC_FISHEYE_POINT_QUERY_ATTR_S *pstFisheyePointQueryAttr, 37*4882a593Smuzhiyun const VIDEO_FRAME_INFO_S *pstVideoInfo, 38*4882a593Smuzhiyun const RK_U32 u32PointNum, 39*4882a593Smuzhiyun const POINT_S *pastDstPoint, 40*4882a593Smuzhiyun POINT_S *pastSrcPoint); 41*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_FisheyePosQueryDst2Pano(const GDC_FISHEYE_POINT_QUERY_ATTR_S *pstFisheyePointQueryAttr, 42*4882a593Smuzhiyun const VIDEO_FRAME_INFO_S *pstVideoInfo, 43*4882a593Smuzhiyun const RK_U32 u32PanoRegionIndex, 44*4882a593Smuzhiyun const POINT_S *pstDstPoint, 45*4882a593Smuzhiyun POINT_S *pstPanoPoint); 46*4882a593Smuzhiyun RK_S32 RK_MPI_GDC_FisheyePosQueryDst2PanoArray(const GDC_FISHEYE_POINT_QUERY_ATTR_S *pstFisheyePointQueryAttr, 47*4882a593Smuzhiyun const VIDEO_FRAME_INFO_S *pstVideoInfo, 48*4882a593Smuzhiyun const RK_U32 u32PanoRegionIndex, 49*4882a593Smuzhiyun const RK_U32 u32PointNum, 50*4882a593Smuzhiyun const POINT_S *pastDstPoint, 51*4882a593Smuzhiyun POINT_S *pastPanoPoint); 52*4882a593Smuzhiyun #ifdef __cplusplus 53*4882a593Smuzhiyun #if __cplusplus 54*4882a593Smuzhiyun } 55*4882a593Smuzhiyun #endif 56*4882a593Smuzhiyun #endif /*__cplusplus*/ 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #endif /*end of __MPI_GDC_H__*/ 59