ax_comm_venc_rc.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. /**********************************************************************************
  2. *
  3. * Copyright (c) 2019-2020 Beijing AXera Technology Co., Ltd. All Rights Reserved.
  4. *
  5. * This source file is the property of Beijing AXera Technology Co., Ltd. and
  6. * may not be copied or distributed in any isomorphic form without the prior
  7. * written consent of Beijing AXera Technology Co., Ltd.
  8. *
  9. **********************************************************************************/
  10. #ifndef __AX_COMM_VENC_RC_H__
  11. #define __AX_COMM_VENC_RC_H__
  12. #include "ax_base_type.h"
  13. #ifdef __cplusplus
  14. #if __cplusplus
  15. extern "C"{
  16. #endif
  17. #endif /* __cplusplus */
  18. /* For RC, in kbps */
  19. #define VENC_MIN_BITRATE (3)
  20. #define VENC_MAX_BITRATE (60*1000)
  21. #define VENC_BITRATE_RATIO (1000)
  22. /* IDR interval */
  23. #define VENC_MIN_IDR_INTERVAL (0)
  24. #define VENC_MAX_IDR_INTERVAL (65536)
  25. /* qp range */
  26. #define VENC_MIN_QP (0)
  27. #define VENC_MAX_QP (51)
  28. /* frame rate range */
  29. #define VENC_MIN_FRAME_RATE (1)
  30. #define VENC_MAX_FRAME_RATE (240)
  31. /* qpmap block unit */
  32. #define VENC_MIN_QPMAP_BLOCK_UNIT (0)
  33. #define VENC_MAX_H264_QPMAP_BLOCK_UNIT (2)
  34. #define VENC_MAX_H265_QPMAP_BLOCK_UNIT (3)
  35. /* qpmap qp type */
  36. #define VENC_MIN_QPMAP_QPTYPE (0)
  37. #define VENC_MAX_QPMAP_QPTYPE (3)
  38. /* ctbrc type */
  39. #define VENC_MIN_CTBRC_TYPE (0)
  40. #define VENC_MAX_CTBRC_TYPE (3)
  41. #define MAX_EXTRA_BITRATE 1000*1024
  42. /* rc mode */
  43. typedef enum
  44. {
  45. VENC_RC_MODE_H264CBR = 1,
  46. VENC_RC_MODE_H264VBR,
  47. VENC_RC_MODE_H264AVBR,
  48. VENC_RC_MODE_H264QVBR,
  49. VENC_RC_MODE_H264CVBR,
  50. VENC_RC_MODE_H264FIXQP,
  51. VENC_RC_MODE_H264QPMAP,
  52. VENC_RC_MODE_MJPEGCBR,
  53. VENC_RC_MODE_MJPEGVBR,
  54. VENC_RC_MODE_MJPEGFIXQP,
  55. VENC_RC_MODE_H265CBR,
  56. VENC_RC_MODE_H265VBR,
  57. VENC_RC_MODE_H265AVBR,
  58. VENC_RC_MODE_H265QVBR,
  59. VENC_RC_MODE_H265CVBR,
  60. VENC_RC_MODE_H265FIXQP,
  61. VENC_RC_MODE_H265QPMAP,
  62. VENC_RC_MODE_BUTT,
  63. } AX_VENC_RC_MODE_E;
  64. /* qpmap mode*/
  65. typedef enum
  66. {
  67. VENC_RC_QPMAP_MODE_MEANQP= 0,
  68. VENC_RC_QPMAP_MODE_MINQP ,
  69. VENC_RC_QPMAP_MODE_MAXQP,
  70. VENC_RC_QPMAP_MODE_BUTT,
  71. } AX_VENC_RC_QPMAP_MODE_E;
  72. /* the attribute of h264e fixqp*/
  73. typedef struct axVENC_H264_FIXQP_S
  74. {
  75. AX_U32 u32Gop; /* RW; Range:[1, 65536]; the interval of ISLICE. */
  76. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  77. AX_U32 fr32DstFrameRate; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  78. AX_U32 u32IQp; /* RW; Range:[0, 51]; qp of the i frame */
  79. AX_U32 u32PQp; /* RW; Range:[0, 51]; qp of the p frame */
  80. AX_U32 u32BQp; /* RW; Range:[0, 51]; qp of the b frame */
  81. } AX_VENC_H264_FIXQP_S;
  82. typedef enum
  83. {
  84. VENC_RC_CTBRC_DISABLE = 0,
  85. VENC_RC_CTBRC_QUALITY,
  86. VENC_RC_CTBRC_RATE,
  87. VENC_RC_CTBRC_QUALITY_RATE,
  88. } AX_VENC_RC_CTBRC_MODE_E;
  89. typedef enum
  90. {
  91. VENC_QPMAP_DISABLE = 0,
  92. VENC_QPMAP_ENABLE_DELTAQP = 1, /* qp rang in [-31, 32] */
  93. VENC_QPMAP_ENABLE_ABSQP = 2, /* qp range in [0, 51] */
  94. VENC_QPMAP_ENABLE_IPCM = 3,
  95. } AX_VENC_QPMAP_QP_TYPE_E;
  96. typedef struct axVENC_QPMAP_META_S
  97. {
  98. AX_VENC_RC_CTBRC_MODE_E enCtbRcMode; /* RW: Ctb rc mode */
  99. AX_VENC_QPMAP_QP_TYPE_E enQpmapQpType; /* RW: The qp type of qpmap */
  100. AX_U32 u32QpmapBlockUnit; /* RW: Range:[0,3]; 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8.(h264 not support 8x8)*/
  101. } AX_VENC_QPMAP_META_S;
  102. /* the attribute of h264e cbr*/
  103. typedef struct axVENC_H264_CBR_S
  104. {
  105. AX_U32 u32Gop; /* RW; Range:[1, 65536]; the interval of I Frame. */
  106. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  107. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  108. AX_U32 fr32DstFrameRate ; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  109. AX_U32 u32BitRate; /* RW; average bitrate(kbps) */
  110. AX_U32 u32MaxQp; /* RW; Range:[0, 51]; the max QP value */
  111. AX_U32 u32MinQp; /* RW: Range:[0, 51]; the min QP value */
  112. AX_U32 u32MaxIQp; /* RW: Range:[0, 51]; the max I qp */
  113. AX_U32 u32MinIQp; /* RW: Range:[0, 51]; the min I qp */
  114. AX_U32 u32MaxIprop; /* RW: Range:[1, 100]; the max I P size ratio */
  115. AX_U32 u32MinIprop; /* RW: Range:[1, u32MaxIprop]; the min I P size ratio */
  116. AX_S32 s32IntraQpDelta; /* RW: Range:[-51, 51]; QP difference between target QP and intra frame QP */
  117. AX_VENC_QPMAP_META_S stQpmapInfo; /* RW: Qpmap related info */
  118. } AX_VENC_H264_CBR_S;
  119. /* the attribute of h264e vbr*/
  120. typedef struct axVENC_H264_VBR_S
  121. {
  122. AX_U32 u32Gop; /* RW; Range:[1, 65536]; the interval of ISLICE. */
  123. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  124. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  125. AX_U32 fr32DstFrameRate ; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  126. AX_U32 u32MaxBitRate; /* RW; the max bitrate(kbps) */
  127. AX_U32 u32MaxQp; /* RW; Range:[0, 51]; the max QP value */
  128. AX_U32 u32MinQp; /* RW: Range:[0, 51]; the min QP value */
  129. AX_U32 u32MaxIQp; /* RW: Range:[0, 51]; the max I qp */
  130. AX_U32 u32MinIQp; /* RW: Range:[0, 51]; the min I qp */
  131. AX_S32 s32IntraQpDelta; /* RW: Range:[-51, 51]; QP difference between target QP and intra frame QP */
  132. AX_VENC_QPMAP_META_S stQpmapInfo; /* RW: Qpmap related info */
  133. } AX_VENC_H264_VBR_S;
  134. /* the attribute of h264e cvbr*/
  135. typedef struct axVENC_H264_CVBR_S
  136. {
  137. AX_U32 u32Gop; /* RW; Range:[1, 65536]; the interval of ISLICE. */
  138. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  139. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  140. AX_U32 fr32DstFrameRate ; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  141. AX_U32 u32MaxBitRate; /* RW; the max bitrate, the unit is kbps */
  142. AX_U32 u32ShortTermStatTime; /* RW; Range:[1, 120]; the long-term rate statistic time, the unit is second (s)*/
  143. AX_U32 u32LongTermStatTime; /* RW; Range:[1, 1440]; the long-term rate statistic time, the unit is u32LongTermStatTimeUnit*/
  144. AX_U32 u32LongTermMaxBitrate; /* RW; Range:[2, 614400];the long-term target max bitrate, can not be larger than u32MaxBitRate,the unit is kbps */
  145. AX_U32 u32LongTermMinBitrate; /* RW; Range:[0, 614400];the long-term target min bitrate, can not be larger than u32LongTermMaxBitrate,the unit is kbps */
  146. } AX_VENC_H264_CVBR_S;
  147. /* the attribute of h264e avbr*/
  148. typedef struct axVENC_H264_AVBR_S
  149. {
  150. AX_U32 u32Gop; /* RW; Range:[1, 65536]; the interval of ISLICE. */
  151. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  152. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  153. AX_U32 fr32DstFrameRate ; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  154. AX_U32 u32MaxBitRate; /* RW; the max bitrate, the unit is kbps */
  155. AX_U32 u32MaxQp; /* RW; Range:[0, 51]; the max QP value */
  156. AX_U32 u32MinQp; /* RW: Range:[0, 51]; the min QP value */
  157. AX_U32 u32MaxIQp; /* RW: Rangeb:[0, 51]; the max I qp */
  158. AX_U32 u32MinIQp; /* RW: Range:[0, 51]; the min I qp */
  159. AX_S32 s32IntraQpDelta; /* RW: Range:[-51, 51]; QP difference between target QP and intra frame QP */
  160. AX_VENC_QPMAP_META_S stQpmapInfo; /* RW: Qpmap related info */
  161. } AX_VENC_H264_AVBR_S;
  162. /* the attribute of h264e qpmap*/
  163. typedef struct axVENC_H264_QPMAP_S
  164. {
  165. AX_U32 u32Gop; /* RW; Range:[1, 65536]; the interval of ISLICE. */
  166. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  167. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  168. AX_U32 fr32DstFrameRate; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  169. AX_VENC_RC_CTBRC_MODE_E enCtbRcMode; /* RW: CTB QP adjustment mode for Rate Control and Subjective Quality */
  170. AX_VENC_QPMAP_QP_TYPE_E enQpmapQpType; /* RW: The qp type of qpmap */
  171. AX_U32 u32QpmapBlockUnit; /* Range:[0,2]; 0: 64x64, 1: 32x32, 2: 16x16 */
  172. AX_U32 u32TargetBitRate; /* the target bitrate, the unit is kbps */
  173. } AX_VENC_H264_QPMAP_S;
  174. typedef struct axVENC_H264_QVBR_S
  175. {
  176. AX_U32 u32Gop; /* RW; Range:[1, 65536];the interval of ISLICE. */
  177. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  178. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  179. AX_U32 fr32DstFrameRate ; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  180. AX_U32 u32TargetBitRate; /* RW; the target bitrate, the unit is kbps */
  181. } AX_VENC_H264_QVBR_S;
  182. /* the attribute of h265e qpmap*/
  183. typedef struct axVENC_H265_QPMAP_S
  184. {
  185. AX_U32 u32Gop; /* RW; Range:[1, 65536]; the interval of ISLICE. */
  186. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  187. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  188. AX_U32 fr32DstFrameRate; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  189. AX_VENC_RC_CTBRC_MODE_E enCtbRcMode; /* RW: CTB QP adjustment mode for Rate Control and Subjective Quality */
  190. AX_VENC_QPMAP_QP_TYPE_E enQpmapQpType; /* RW: The qp type of qpmap */
  191. AX_U32 u32QpmapBlockUnit; /* Range:[0,3]; 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8 */
  192. AX_U32 u32TargetBitRate; /* the target bitrate, the unit is kbps */
  193. } AX_VENC_H265_QPMAP_S;
  194. typedef struct axVENC_H264_CBR_S AX_VENC_H265_CBR_S;
  195. typedef struct axVENC_H264_VBR_S AX_VENC_H265_VBR_S;
  196. typedef struct axVENC_H264_AVBR_S AX_VENC_H265_AVBR_S;
  197. typedef struct axVENC_H264_FIXQP_S AX_VENC_H265_FIXQP_S;
  198. typedef struct axVENC_H264_QVBR_S AX_VENC_H265_QVBR_S;
  199. typedef struct axVENC_H264_CVBR_S AX_VENC_H265_CVBR_S;
  200. /* the attribute of mjpege fixqp*/
  201. typedef struct axVENC_MJPEG_FIXQP_S
  202. {
  203. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  204. AX_U32 fr32DstFrameRate; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  205. AX_S32 s32FixedQp; /* Range:[-1, 51]; Fixed qp for every frame.
  206. -1 : disable fixed qp mode.
  207. 0~51 : value of fixed qp. */
  208. } AX_VENC_MJPEG_FIXQP_S;
  209. /* the attribute of mjpege cbr*/
  210. typedef struct axVENC_MJPEG_CBR_S
  211. {
  212. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  213. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  214. AX_U32 fr32DstFrameRate; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  215. AX_U32 u32BitRate; /* RW; average bitrate ,the unit is kbps*/
  216. AX_U32 u32MaxQp; /* RW; Range:[0, 51]; the max Qfactor value*/
  217. AX_U32 u32MinQp; /* RW; Range:[0, 51]; the min Qfactor value ,can not be larger than u32MaxQfactor */
  218. } AX_VENC_MJPEG_CBR_S;
  219. /* the attribute of mjpege vbr*/
  220. typedef struct axVENC_MJPEG_VBR_S
  221. {
  222. AX_U32 u32StatTime; /* RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s) */
  223. AX_U32 u32SrcFrameRate; /* RW; Range:[1, 240]; the input frame rate of the venc chnnel */
  224. AX_U32 fr32DstFrameRate; /* RW; Range:[0.015625, 240]; the target frame rate of the venc chnnel,can not be larger than u32SrcFrameRate */
  225. AX_U32 u32MaxBitRate; /* RW; the max bitrate ,the unit is kbps*/
  226. AX_U32 u32MaxQp; /* RW; Range:[0, 51]; max image quailty allowed */
  227. AX_U32 u32MinQp; /* RW; Range:[0, 51]; min image quality allowed ,can not be larger than u32MaxQfactor*/
  228. } AX_VENC_MJPEG_VBR_S;
  229. /* the attribute of rc*/
  230. typedef struct axVENC_RC_ATTR_S
  231. {
  232. AX_VENC_RC_MODE_E enRcMode; /* RW; the type of rc*/
  233. AX_S32 s32FirstFrameStartQp; /* RW; Range[-1, 51]; Start QP value of the first frame
  234. ** -1: Encoder calculates initial QP.
  235. */
  236. union
  237. {
  238. AX_VENC_H264_CBR_S stH264Cbr;
  239. AX_VENC_H264_VBR_S stH264Vbr;
  240. AX_VENC_H264_AVBR_S stH264AVbr;
  241. AX_VENC_H264_QVBR_S stH264QVbr;
  242. AX_VENC_H264_CVBR_S stH264CVbr;
  243. AX_VENC_H264_FIXQP_S stH264FixQp;
  244. AX_VENC_H264_QPMAP_S stH264QpMap;
  245. AX_VENC_H265_CBR_S stH265Cbr;
  246. AX_VENC_H265_VBR_S stH265Vbr;
  247. AX_VENC_H265_AVBR_S stH265AVbr;
  248. AX_VENC_H265_QVBR_S stH265QVbr;
  249. AX_VENC_H265_CVBR_S stH265CVbr;
  250. AX_VENC_H265_FIXQP_S stH265FixQp;
  251. AX_VENC_H265_QPMAP_S stH265QpMap;
  252. AX_VENC_MJPEG_CBR_S stMjpegCbr;
  253. AX_VENC_MJPEG_VBR_S stMjpegVbr;
  254. AX_VENC_MJPEG_FIXQP_S stMjpegFixQp;
  255. };
  256. } AX_VENC_RC_ATTR_S;
  257. typedef struct axVENC_SCENE_CHANGE_DETECT_S
  258. {
  259. AX_BOOL bDetectSceneChange; /* RW; Range:[0, 1]; enable detect scene change.*/
  260. AX_BOOL bAdaptiveInsertIDRFrame; /* RW; Range:[0, 1]; enable a daptive insertIDR frame.*/
  261. } AX_VENC_SCENE_CHANGE_DETECT_S;
  262. /* The param of rc*/
  263. typedef struct axVENC_RC_PARAM_S
  264. {
  265. AX_U32 u32RowQpDelta; /* RW; Range:[0, 10];the start QP value of each macroblock row relative to the start QP value */
  266. AX_S32 s32FirstFrameStartQp; /* RW; Range:[-1, 51];Start QP value of the first frame*/
  267. AX_VENC_SCENE_CHANGE_DETECT_S stSceneChangeDetect;/* RW;*/
  268. AX_VENC_RC_MODE_E enRcMode; /* RW; the type of rc*/
  269. union
  270. {
  271. AX_VENC_H264_CBR_S stH264Cbr;
  272. AX_VENC_H264_VBR_S stH264Vbr;
  273. AX_VENC_H264_AVBR_S stH264AVbr;
  274. AX_VENC_H264_QVBR_S stH264QVbr;
  275. AX_VENC_H264_CVBR_S stH264CVbr;
  276. AX_VENC_H264_FIXQP_S stH264FixQp;
  277. AX_VENC_H264_QPMAP_S stH264QpMap;
  278. AX_VENC_H265_CBR_S stH265Cbr;
  279. AX_VENC_H265_VBR_S stH265Vbr;
  280. AX_VENC_H265_AVBR_S stH265AVbr;
  281. AX_VENC_H265_QVBR_S stH265QVbr;
  282. AX_VENC_H265_CVBR_S stH265CVbr;
  283. AX_VENC_H265_FIXQP_S stH265FixQp;
  284. AX_VENC_H265_QPMAP_S stH265QpMap;
  285. AX_VENC_MJPEG_CBR_S stMjpegCbr;
  286. AX_VENC_MJPEG_VBR_S stMjpegVbr;
  287. AX_VENC_MJPEG_FIXQP_S stMjpegFixQp;
  288. };
  289. } AX_VENC_RC_PARAM_S;
  290. /* the frame lost mode*/
  291. typedef enum
  292. {
  293. DROPFRM_NORMAL=0, /*normal mode*/
  294. DROPFRM_PSKIP, /*pskip*/
  295. DROPFRM_BUTT,
  296. } AX_VENC_DROPFRAME_MODE_E;
  297. /* The param of the rate jam mode*/
  298. typedef struct axVENC_RATE_JAM_S
  299. {
  300. AX_BOOL bDropFrmEn; /* RW; Range:[0,1];Indicates whether to enable rate jam stragety */
  301. AX_U32 u32DropFrmThrBps; /* RW; Range:[64k, 163840k];the instant bit rate threshold */
  302. AX_VENC_DROPFRAME_MODE_E enDropFrmMode; /* RW; drop frame mode */
  303. AX_U32 u32MaxApplyCount; /* RW; Range:[0,65535]; the max frame number of apply this startegy */
  304. } AX_VENC_RATE_JAM_CFG_S;
  305. /* the rc priority*/
  306. typedef enum
  307. {
  308. VENC_RC_PRIORITY_BITRATE_FIRST = 1, /* bitrate first */
  309. VENC_RC_PRIORITY_FRAMEBITS_FIRST, /* framebits first*/
  310. VENC_RC_PRIORITY_BUTT,
  311. } AX_VENC_RC_PRIORITY_E;
  312. /* the config of the superframe */
  313. typedef struct axVENC_SUPERFRAME_CFG_S
  314. {
  315. AX_BOOL bStrategyEn; /* RW: super frame strategy enable */
  316. AX_U32 u32MaxReEncodeTimes; /* RW; Range:[0, 65535]; Indicate the max re-encode times */
  317. AX_U32 u32SuperIFrmBitsThr; /* RW; Range:[0, 4294967295];Indicate the threshold of the super I frame for enabling the super frame processing mode */
  318. AX_U32 u32SuperPFrmBitsThr; /* RW; Range:[0, 4294967295];Indicate the threshold of the super P frame for enabling the super frame processing mode */
  319. AX_U32 u32SuperBFrmBitsThr; /* RW; Range:[0, 4294967295];Indicate the threshold of the super B frame for enabling the super frame processing mode */
  320. } AX_VENC_SUPERFRAME_CFG_S;
  321. #ifdef __cplusplus
  322. #if __cplusplus
  323. }
  324. #endif
  325. #endif /* __cplusplus */
  326. #endif /* __AX_COMM_RC_H__ */