ei_common.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. /*
  2. *------------------------------------------------------------------------------
  3. * @File : ei_common.h
  4. * @Date : 2021-3-16
  5. * @Author : lomboswer <lomboswer@lombotech.com>
  6. * @Brief : Common file for MDP(Media Development Platform).
  7. *
  8. * Copyright (C) 2020-2021, LomboTech Co.Ltd. All rights reserved.
  9. *------------------------------------------------------------------------------
  10. */
  11. #ifndef __EI_COMMON_H__
  12. #define __EI_COMMON_H__
  13. #include "ei_type.h"
  14. #include "ei_defines.h"
  15. #ifdef __cplusplus
  16. #if __cplusplus
  17. extern "C" {
  18. #endif
  19. #endif /* __cplusplus */
  20. #define ATTRIBUTE __attribute__((aligned (ALIGN_NUM)))
  21. #define VERSION_NAME_MAXLEN 64
  22. typedef struct eiMDP_VERSION_S {
  23. EI_CHAR aVersion[VERSION_NAME_MAXLEN];
  24. } MDP_VERSION_S;
  25. /* For VO */
  26. #define VO_MAX_VIRT_DEV_NUM 0
  27. #define VO_MAX_PHY_DEV_NUM 1
  28. #define VO_MAX_DEV_NUM 1
  29. #define VO_MAX_LAYER_NUM 4
  30. #define VO_MAX_PRIORITY 4
  31. #define VO_MAX_CHN_NUM 8
  32. #define VO_MAX_LAYER_IN_DEV 4
  33. #define VO_MAX_GRAPHICS_LAYER_NUM 1
  34. #define VC_MAX_CHN_NUM 16
  35. #define LANE_MAX_NUM 4
  36. /* For VGSS */
  37. #define VGSS_MAX_DEV_NUM 4
  38. #define VGSS_MAX_CHN_NUM 1
  39. typedef EI_S32 AUDIO_DEV;
  40. typedef EI_S32 AI_CHN;
  41. typedef EI_S32 AO_CHN;
  42. typedef EI_S32 AENC_CHN;
  43. typedef EI_S32 ADEC_CHN;
  44. typedef EI_S32 VO_DEV;
  45. typedef EI_S32 VO_LAYER;
  46. typedef EI_S32 VO_CHN;
  47. typedef EI_S32 VO_WBC;
  48. typedef EI_S32 GRAPHIC_LAYER;
  49. typedef EI_S32 ISP_DEV;
  50. typedef EI_S32 IPPU_DEV;
  51. typedef EI_S32 IPPU_CHN;
  52. typedef EI_S32 SENSOR_ID;
  53. typedef EI_S32 AF_DRV_ID;
  54. typedef EI_S32 VC_CHN;
  55. typedef EI_S32 VISS_DEV;
  56. typedef EI_S32 VISS_PIPE;
  57. typedef EI_S32 VISS_CHN;
  58. typedef EI_S32 VISS_STITCH_GRP;
  59. typedef EI_S32 VGSS_DEV;
  60. typedef EI_S32 VGSS_CHN;
  61. typedef EI_S32 SAM_DEV;
  62. typedef EI_S32 SAM_CHN;
  63. typedef EI_S32 SPLT_DEV;
  64. typedef EI_S32 SPLT_CHN;
  65. #define EI_INVALID_CHN (-1)
  66. #define EI_INVALID_LAYER (-1)
  67. #define EI_INVALID_DEV (-1)
  68. #define EI_INVALID_HANDLE (-1)
  69. #define EI_INVALID_VALUE (-1)
  70. #define EI_INVALID_TYPE (-1)
  71. typedef enum eiMOD_ID_E {
  72. EI_ID_LOG = 0,
  73. EI_ID_MBASE = 1,
  74. EI_ID_MLINK = 2,
  75. EI_ID_VBUF = 3,
  76. EI_ID_ISP = 4,
  77. EI_ID_VISS = 5,
  78. EI_ID_DOSS = 6,
  79. EI_ID_VPU = 7,
  80. EI_ID_JVC = 8,
  81. EI_ID_MIPI = 9,
  82. EI_ID_GDC = 10,
  83. EI_ID_AUDIOIN = 11,
  84. EI_ID_AUDIOOUT = 12,
  85. EI_ID_AENC = 13,
  86. EI_ID_ADEC = 14,
  87. EI_ID_AUDIOCOMMON = 15,
  88. EI_ID_VGSS = 16,
  89. EI_ID_AXNU = 17,
  90. EI_ID_AXVU = 18,
  91. EI_ID_IPPU = 19,
  92. EI_ID_REGION,
  93. EI_ID_MFAKE,
  94. EI_ID_MFAKE_SRC,
  95. EI_ID_MFAKE_SINK,
  96. EI_ID_SAM,
  97. EI_ID_SAM_SRC,
  98. EI_ID_SAM_SINK,
  99. EI_ID_SPLT,
  100. EI_ID_MAX,
  101. } MOD_ID_E;
  102. typedef struct eiMDP_CHN_S {
  103. MOD_ID_E enModId;
  104. EI_S32 s32DevId;
  105. EI_S32 s32ChnId;
  106. } MDP_CHN_S;
  107. #define MDP_MOD_LOG "logmdp"
  108. #define MDP_MOD_MBASE "mbase"
  109. #define MDP_MOD_MLINK "mlink"
  110. #define MDP_MOD_VBUF "vbuf"
  111. #define MDP_MOD_ISP "isp"
  112. #define MDP_MOD_IPPU "ippu"
  113. #define MDP_MOD_VISS "viss"
  114. #define MDP_MOD_VISS_MIPI "viss_mipi"
  115. #define MDP_MOD_AUDIOIN "audioin"
  116. #define MDP_MOD_AUDIOOUT "audioout"
  117. #define MDP_MOD_AUDIOCOMMON "audiocommon"
  118. #define MDP_MOD_DOSS "doss"
  119. #define MDP_MOD_AENC "aenc"
  120. #define MDP_MOD_ADEC "adec"
  121. #define MDP_MOD_VPU "vpu"
  122. #define MDP_MOD_JVC "jvc"
  123. #define MDP_MOD_GDC "gdc"
  124. #define MDP_MOD_VGSS "vgss"
  125. #define MDP_MOD_AXNU "axnu"
  126. #define MDP_MOD_AXVU "axvu"
  127. #define MDP_MOD_MFAKE "mfake"
  128. #define MDP_MOD_REGION "region"
  129. #define MDP_MOD_SAM "sam"
  130. #define MDP_MOD_SPLT "splitter"
  131. #define MDP_DEV_NUM 64
  132. #define MDP_NAME_MAXLEN 32
  133. #define MDP_LOG_MINOR 0
  134. #define MDP_MBASE_MINOR 1
  135. #define MDP_MLINK_MINOR 2
  136. #define MDP_VBUF_MINOR 3
  137. #define MDP_ISP_MINOR 4
  138. #define MDP_VISS_MINOR 5
  139. #define MDP_DOSS_MINOR 6
  140. #define MDP_VPU_MINOR 7
  141. #define MDP_JVC_MINOR 8
  142. #define MDP_VISS_MIPI_MINOR 9
  143. #define MDP_AUDIOIN_MINOR 10
  144. #define MDP_AUDIOOUT_MINOR 11
  145. #define MDP_AENC_MINOR 12
  146. #define MDP_ADEC_MINOR 13
  147. #define MDP_AUDIOCOM_MINOR 14
  148. #define MDP_GDC_MINOR 15
  149. #define MDP_VGSS_MINOR 16
  150. #define MDP_MFAKE_MINOR 17
  151. #define MDP_REGION_MINOR 18
  152. #define MDP_SAM_MINOR 19
  153. #define MDP_SPLT_MINOR 20
  154. #define MDP_AXNU_MINOR 40
  155. #define MDP_AXVU_MINOR 41
  156. #define MDP_DYNAMIC_MINOR 255
  157. #define MDP_VISS_MAX_DEV 3
  158. #define MDP_SAM_MAX_DEV 4
  159. #define MDP_SAM_MAX_CHN 8
  160. #define MDP_SPLT_MAX_DEV 16
  161. #define MDP_SPLT_MAX_CHN 8
  162. typedef enum {
  163. PT_UNINIT = 0,
  164. PT_G729 = 18,
  165. PT_G711A = 19,
  166. PT_G711U = 20,
  167. PT_G726 = 21,
  168. PT_LPCM = 23,
  169. PT_AAC = 37,
  170. PT_MP3 = 43,
  171. PT_ADPCMA = 49,
  172. PT_H264 = 100,
  173. PT_H265,
  174. PT_MJPEG,
  175. PT_JPEG = 200,
  176. PT_BUTT
  177. } PAYLOAD_TYPE_E;
  178. #define MDP_CHECK_MOD_ID(Id) (((EI_U32)Id) < EI_ID_MAX)
  179. #ifdef __cplusplus
  180. #if __cplusplus
  181. }
  182. #endif
  183. #endif /* __cplusplus */
  184. #endif /* _EI_COMMON_H_ */