mpi_vgs.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. /******************************************************************************
  2. Copyright (C), 2016, Hisilicon Tech. Co., Ltd.
  3. ******************************************************************************
  4. File Name : mpi_vgs.h
  5. Version : Initial Draft
  6. Author : Hisilicon multimedia software group
  7. Created : 2016/07/24
  8. Last Modified :
  9. Description : mpi functions declaration
  10. Function List :
  11. ******************************************************************************/
  12. #ifndef __MPI_VGS_H__
  13. #define __MPI_VGS_H__
  14. #include "hi_common.h"
  15. #include "hi_comm_video.h"
  16. #include "hi_comm_vgs.h"
  17. #ifdef __cplusplus
  18. #if __cplusplus
  19. extern "C" {
  20. #endif
  21. #endif /*__cplusplus*/
  22. /*****************************************************************************
  23. Prototype : HI_MPI_VGS_BeginJob
  24. Description : Begin a vgs job,then add task into the job,vgs will finish all the task in the job.
  25. Input : VGS_HANDLE *phHandle
  26. Output : None
  27. Return Value :
  28. Calls :
  29. Called By :
  30. *****************************************************************************/
  31. HI_S32 HI_MPI_VGS_BeginJob(VGS_HANDLE *phHandle);
  32. /*****************************************************************************
  33. Prototype : HI_MPI_VGS_EndJob
  34. Description : End a job,all tasks in the job will be submmitted to vgs
  35. Input : VGS_HANDLE hHandle
  36. Output : None
  37. Return Value :
  38. Calls :
  39. Called By :
  40. *****************************************************************************/
  41. HI_S32 HI_MPI_VGS_EndJob(VGS_HANDLE hHandle);
  42. /*****************************************************************************
  43. Prototype : HI_MPI_VGS_CancelJob
  44. Description : Cancel a job,then all tasks in the job will not be submmitted to vgs
  45. Input : VGS_HANDLE hHandle
  46. Output : None
  47. Return Value :
  48. Calls :
  49. Called By :
  50. *****************************************************************************/
  51. HI_S32 HI_MPI_VGS_CancelJob(VGS_HANDLE hHandle);
  52. /*****************************************************************************
  53. Prototype : HI_MPI_VGS_AddScaleTask
  54. Description : Add a Scale task to a vgs job
  55. Input : VGS_HANDLE hHandle
  56. Output : None
  57. Return Value :
  58. Calls :
  59. Called By :
  60. *****************************************************************************/
  61. HI_S32 HI_MPI_VGS_AddScaleTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, VGS_SCLCOEF_MODE_E enScaleCoefMode);
  62. /*****************************************************************************
  63. Prototype : HI_MPI_VGS_AddDrawLineTask
  64. Description : add a draw line task into a job
  65. Input : VGS_HANDLE hHandle
  66. Output : None
  67. Return Value :
  68. Calls :
  69. Called By :
  70. *****************************************************************************/
  71. HI_S32 HI_MPI_VGS_AddDrawLineTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_DRAW_LINE_S *pstVgsDrawLine);
  72. /*****************************************************************************
  73. Prototype : HI_MPI_VGS_AddCoverTask
  74. Description : add a Cover task into a job
  75. Input : VGS_HANDLE hHandle
  76. Output : None
  77. Return Value :
  78. Calls :
  79. Called By :
  80. *****************************************************************************/
  81. HI_S32 HI_MPI_VGS_AddCoverTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_ADD_COVER_S *pstVgsAddCover);
  82. /*****************************************************************************
  83. Prototype : HI_MPI_VGS_AddOsdTask
  84. Description : add a Osd task into a job
  85. Input : VGS_HANDLE hHandle
  86. Output : None
  87. Return Value :
  88. Calls :
  89. Called By :
  90. *****************************************************************************/
  91. HI_S32 HI_MPI_VGS_AddOsdTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_ADD_OSD_S *pstVgsAddOsd);
  92. /*****************************************************************************
  93. Prototype : HI_MPI_VGS_AddDrawLineTaskArray
  94. Description : add draw line tasks into a job
  95. Input : VGS_HANDLE hHandle
  96. Output : None
  97. Return Value :
  98. Calls :
  99. Called By :
  100. *****************************************************************************/
  101. HI_S32 HI_MPI_VGS_AddDrawLineTaskArray(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_DRAW_LINE_S astVgsDrawLine[], HI_U32 u32ArraySize);
  102. /*****************************************************************************
  103. Prototype : HI_MPI_VGS_AddCoverTaskArray
  104. Description : add cover tasks into a job
  105. Input : VGS_HANDLE hHandle
  106. Output : None
  107. Return Value :
  108. Calls :
  109. Called By :
  110. *****************************************************************************/
  111. HI_S32 HI_MPI_VGS_AddCoverTaskArray(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_ADD_COVER_S astVgsAddCover[], HI_U32 u32ArraySize);
  112. /*****************************************************************************
  113. Prototype : HI_MPI_VGS_AddOsdTaskArray
  114. Description : add osd tasks into a job
  115. Input : VGS_HANDLE hHandle
  116. Output : None
  117. Return Value :
  118. Calls :
  119. Called By :
  120. *****************************************************************************/
  121. HI_S32 HI_MPI_VGS_AddOsdTaskArray(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, const VGS_ADD_OSD_S astVgsAddOsd[], HI_U32 u32ArraySize);
  122. /*****************************************************************************
  123. Prototype : HI_MPI_VGS_AddRotationTask
  124. Description : add a Rotation task into a job
  125. Input : VGS_HANDLE hHandle
  126. Output : None
  127. Return Value :
  128. Calls :
  129. Called By :
  130. *****************************************************************************/
  131. HI_S32 HI_MPI_VGS_AddRotationTask(VGS_HANDLE hHandle, const VGS_TASK_ATTR_S *pstTask, ROTATION_E enRotationAngle);
  132. #ifdef __cplusplus
  133. #if __cplusplus
  134. }
  135. #endif
  136. #endif /*__cplusplus*/
  137. #endif /*end of __MPI_VGS_H__*/