xref: /OK3568_Linux_fs/external/rockit/mpi/sdk/include/rk_mpi_tde.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* GPL-2.0 WITH Linux-syscall-note OR Apache 2.0 */
2 /* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd */
3 
4 #ifndef SRC_RT_MPI_INCLUDE_RK_MPI_TDE_H_
5 #define SRC_RT_MPI_INCLUDE_RK_MPI_TDE_H_
6 
7 #include "rk_type.h"
8 #include "rk_comm_tde.h"
9 
10 #ifdef __cplusplus
11 #if __cplusplus
12 extern "C" {
13 #endif /* __cplusplus */
14 #endif /* __cplusplus */
15 
16 RK_S32 RK_TDE_Open(RK_VOID);
17 
18 RK_VOID RK_TDE_Close(RK_VOID);
19 
20 TDE_HANDLE RK_TDE_BeginJob(RK_VOID);
21 
22 RK_S32 RK_TDE_EndJob(TDE_HANDLE s32Handle, RK_BOOL bSync, RK_BOOL bBlock, RK_U32 u32TimeOut);
23 
24 RK_S32 RK_TDE_CancelJob(TDE_HANDLE s32Handle);
25 
26 RK_S32 RK_TDE_WaitForDone(TDE_HANDLE s32Handle);
27 
28 RK_S32 RK_TDE_WaitAllDone(RK_VOID);
29 
30 RK_S32 RK_TDE_QuickCopy(TDE_HANDLE s32Handle,
31                                const TDE_SURFACE_S *pstSrc,
32                                const TDE_RECT_S *pstSrcRect,
33                                const TDE_SURFACE_S *pstDst,
34                                const TDE_RECT_S *pstDstRect);
35 
36 RK_S32 RK_TDE_QuickResize(TDE_HANDLE s32Handle,
37                                  const TDE_SURFACE_S *pstSrc,
38                                  const TDE_RECT_S *pstSrcRect,
39                                  const TDE_SURFACE_S *pstDst,
40                                  const TDE_RECT_S *pstDstRect);
41 
42 RK_S32 RK_TDE_Bitblit(TDE_HANDLE s32Handle,
43                          const TDE_SURFACE_S *pstBackGround,
44                          const TDE_RECT_S *pstBackGroundRect,
45                          const TDE_SURFACE_S *pstForeGround,
46                          const TDE_RECT_S *pstForeGroundRect,
47                          const TDE_SURFACE_S *pstDst,
48                          const TDE_RECT_S *pstDstRect,
49                          const TDE_OPT_S *pstOpt);
50 
51 RK_S32 RK_TDE_QuickFill(TDE_HANDLE s32Handle,
52                          TDE_SURFACE_S *pstDst,
53                          TDE_RECT_S *pstDstRect,
54                          RK_U32 u32FillData);
55 
56 RK_S32 RK_TDE_Rotate(TDE_HANDLE s32Handle,
57                          TDE_SURFACE_S *pstSrc,
58                          TDE_RECT_S *pstSrcRect,
59                          TDE_SURFACE_S *pstDst,
60                          TDE_RECT_S *pstDstRect,
61                          ROTATION_E enRotateAngle);
62 
63 #ifdef __cplusplus
64 #if __cplusplus
65 }
66 #endif /* __cplusplus */
67 #endif /* __cplusplus */
68 
69 #endif /* SRC_RT_MPI_INCLUDE_RK_MPI_TDE_H_ */
70