• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef __MPI_VGS_H__
17 #define __MPI_VGS_H__
18 
19 #include "hi_common.h"
20 #include "hi_comm_video.h"
21 #include "hi_comm_vgs.h"
22 
23 #ifdef __cplusplus
24 #if __cplusplus
25 extern "C" {
26 #endif
27 #endif /* __cplusplus */
28 
29 HI_S32 HI_MPI_VGS_BeginJob(VGS_HANDLE *phHandle);
30 
31 HI_S32 HI_MPI_VGS_EndJob(VGS_HANDLE hHandle);
32 
33 HI_S32 HI_MPI_VGS_CancelJob(VGS_HANDLE hHandle);
34 
35 HI_S32 HI_MPI_VGS_AddScaleTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
36                                VGS_SCLCOEF_MODE_E enScaleCoefMode);
37 
38 HI_S32 HI_MPI_VGS_AddDrawLineTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
39                                   const VGS_DRAW_LINE_S *pstVgsDrawLine);
40 
41 HI_S32 HI_MPI_VGS_AddCoverTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
42                                const VGS_ADD_COVER_S *pstVgsAddCover);
43 
44 HI_S32 HI_MPI_VGS_AddOsdTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
45                              const VGS_ADD_OSD_S *pstVgsAddOsd);
46 
47 HI_S32 HI_MPI_VGS_AddDrawLineTaskArray(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
48                                        const VGS_DRAW_LINE_S astVgsDrawLine[], HI_U32 u32ArraySize);
49 
50 HI_S32 HI_MPI_VGS_AddCoverTaskArray(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
51                                     const VGS_ADD_COVER_S astVgsAddCover[], HI_U32 u32ArraySize);
52 
53 HI_S32 HI_MPI_VGS_AddOsdTaskArray(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask,
54                                   const VGS_ADD_OSD_S astVgsAddOsd[], HI_U32 u32ArraySize);
55 
56 HI_S32 HI_MPI_VGS_AddRotationTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, ROTATION_E enRotationAngle);
57 
58 HI_S32 HI_MPI_VGS_AddLumaTaskArray(VGS_HANDLE hHandle, VGS_TASK_ATTR_S *pstTask, const RECT_S astVgsLumaRect[],
59                                    HI_U32 u32ArraySize, HI_U64 au64LumaData[]);
60 
61 #ifdef __cplusplus
62 #if __cplusplus
63 }
64 #endif
65 #endif /* __cplusplus */
66 
67 #endif /* end of __MPI_VGS_H__ */
68 
69