xref: /OK3568_Linux_fs/external/rockit/mpi/sdk/include/rk_mpi_vgs.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 INCLUDE_RT_MPI_VGS_H_
5 #define INCLUDE_RT_MPI_VGS_H_
6 
7 #include "rk_common.h"
8 #include "rk_comm_video.h"
9 #include "rk_comm_vgs.h"
10 
11 #ifdef __cplusplus
12 #if __cplusplus
13 extern "C" {
14 #endif
15 #endif /*__cplusplus*/
16 
17 /*****************************************************************************
18  Prototype    : RK_MPI_VGS_BeginJob
19  Description  : Begin a vgs job,then add task into the job,vgs will finish all the task in the job.
20  Input        : VGS_HANDLE *phHandle
21  Output       : None
22  Return Value :
23  Calls        :
24  Called By    :
25 *****************************************************************************/
26 RK_S32 RK_MPI_VGS_BeginJob(VGS_HANDLE *phHandle);
27 
28 /*****************************************************************************
29  Prototype    : RK_MPI_VGS_EndJob
30  Description  : End a job,all tasks in the job will be submmitted to vgs
31  Input        : VGS_HANDLE hHandle
32  Output       : None
33  Return Value :
34  Calls        :
35  Called By    :
36 *****************************************************************************/
37 RK_S32 RK_MPI_VGS_EndJob(VGS_HANDLE hHandle);
38 
39 /*****************************************************************************
40  Prototype    : RK_MPI_VGS_CancelJob
41  Description  : Cancel a job,then all tasks in the job will not be submmitted to vgs
42  Input        : VGS_HANDLE hHandle
43  Output       : None
44  Return Value :
45  Calls        :
46  Called By    :
47 *****************************************************************************/
48 RK_S32 RK_MPI_VGS_CancelJob(VGS_HANDLE hHandle);
49 
50 /*****************************************************************************
51  Prototype    : RK_MPI_VGS_AddScaleTask
52  Description  : Add a Scale task to a vgs job
53  Input        : VGS_HANDLE hHandle
54  Output       : None
55  Return Value :
56  Calls        :
57  Called By    :
58 *****************************************************************************/
59 RK_S32 RK_MPI_VGS_AddScaleTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, VGS_SCLCOEF_MODE_E enScaleCoefMode);
60 
61 /*****************************************************************************
62  Prototype    : RK_MPI_VGS_AddRotationTask
63  Description  : add a Rotation task into a job
64  Input        : VGS_HANDLE hHandle
65  Output       : None
66  Return Value :
67  Calls        :
68  Called By    :
69 *****************************************************************************/
70 RK_S32 RK_MPI_VGS_AddRotationTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, ROTATION_E enRotationAngle);
71 
72 /*****************************************************************************
73  Prototype    : RK_MPI_VGS_AddCropTask
74  Description  : add crop task into a job
75  Input        : VGS_HANDLE hHandle
76  Output       : None
77  Return Value :
78  Calls        :
79  Called By    :
80 *****************************************************************************/
81 RK_S32 RK_MPI_VGS_AddCropTask(
82         VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_CROP_INFO_S *pstVgsCrop);
83 
84 /*****************************************************************************
85  Prototype    : RK_MPI_VGS_AddDrawLineTask
86  Description  : add a draw line task into a job
87  Input        : VGS_HANDLE hHandle
88  Output       : None
89  Return Value :
90  Calls        :
91  Called By    :
92 *****************************************************************************/
93 RK_S32 RK_MPI_VGS_AddDrawLineTask(
94         VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_DRAW_LINE_S *pstVgsDrawLine);
95 
96 /*****************************************************************************
97  Prototype    : RK_MPI_VGS_AddCoverTask
98  Description  : add a Cover task into a job
99  Input        : VGS_HANDLE hHandle
100  Output       : None
101  Return Value :
102  Calls        :
103  Called By    :
104 *****************************************************************************/
105 RK_S32 RK_MPI_VGS_AddCoverTask(
106        VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_ADD_COVER_S *pstVgsAddCover);
107 
108 /*****************************************************************************
109  Prototype    : RK_MPI_VGS_AddOsdTask
110  Description  : add a Osd task into a job
111  Input        : VGS_HANDLE hHandle
112  Output       : None
113  Return Value :
114  Calls        :
115  Called By    :
116 *****************************************************************************/
117 RK_S32 RK_MPI_VGS_AddOsdTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_ADD_OSD_S *pstVgsAddOsd);
118 
119 /****************************************
120  Prototype    : RK_MPI_VGS_AddMosaicTask
121  Description  : add mosaic task into a job
122  Input        : VGS_HANDLE hHandle
123  Output       : None
124  Return Value :
125  Calls        :
126  Called By    :
127 *****************************************************************************/
128 RK_S32 RK_MPI_VGS_AddMosaicTask(
129         VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_MOSAIC_S* pstVgsMosaic);
130 
131 /*****************************************************************************
132  Prototype    : RK_MPI_VGS_AddDrawLineTaskArray
133  Description  : add draw line tasks into a job
134  Input        : VGS_HANDLE hHandle
135  Output       : None
136  Return Value :
137  Calls        :
138  Called By    :
139 *****************************************************************************/
140 RK_S32 RK_MPI_VGS_AddDrawLineTaskArray(
141         VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
142         const VGS_DRAW_LINE_S astVgsDrawLine[], RK_U32 u32ArraySize);
143 
144 /*****************************************************************************
145  Prototype    : RK_MPI_VGS_AddCoverTaskArray
146  Description  : add cover tasks into a job
147  Input        : VGS_HANDLE hHandle
148  Output       : None
149  Return Value :
150  Calls        :
151  Called By    :
152 *****************************************************************************/
153 RK_S32 RK_MPI_VGS_AddCoverTaskArray(
154         VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
155         const VGS_ADD_COVER_S astVgsAddCover[], RK_U32 u32ArraySize);
156 
157 /*****************************************************************************
158  Prototype    : RK_MPI_VGS_AddOsdTaskArray
159  Description  : add osd tasks into a job
160  Input        : VGS_HANDLE hHandle
161  Output       : None
162  Return Value :
163  Calls        :
164  Called By    :
165 *****************************************************************************/
166 RK_S32 RK_MPI_VGS_AddOsdTaskArray(
167         VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_ADD_OSD_S astVgsAddOsd[], RK_U32 u32ArraySize);
168 
169 /****************************************
170  Prototype    : RK_MPI_VGS_AddMosaicTask
171  Description  : add mosaic tasks into a job
172  Input        : VGS_HANDLE hHandle
173  Output       : None
174  Return Value :
175  Calls        :
176  Called By    :
177 *****************************************************************************/
178 RK_S32 RK_MPI_VGS_AddMosaicTaskArray(
179         VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_MOSAIC_S astVgsMosaic[], RK_U32 u32ArraySize);
180 
181 
182 #ifdef __cplusplus
183 #if __cplusplus
184 }
185 #endif
186 #endif /*__cplusplus*/
187 
188 #endif /*end of __MPI_VGS_H__*/
189 
190