ax_vdec_api.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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_VDEC_API_H_
  11. #define _AX_VDEC_API_H_
  12. #include "ax_base_type.h"
  13. #include "ax_global_type.h"
  14. #include "ax_comm_codec.h"
  15. #include "ax_comm_vdec.h"
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. AX_S32 AX_VDEC_Init();
  20. AX_S32 AX_VDEC_DeInit();
  21. AX_S32 AX_VDEC_CreateGrp(AX_VDEC_GRP VdGrp, const AX_VDEC_GRP_ATTR_S *pstAttr);
  22. AX_S32 AX_VDEC_DestroyGrp(AX_VDEC_GRP VdGrp);
  23. AX_S32 AX_VDEC_GetGrpAttr(AX_VDEC_GRP VdGrp, AX_VDEC_GRP_ATTR_S *pstAttr);
  24. AX_S32 AX_VDEC_SetGrpAttr(AX_VDEC_GRP VdGrp, const AX_VDEC_GRP_ATTR_S *pstAttr);
  25. AX_S32 AX_VDEC_StartRecvStream(AX_VDEC_GRP VdGrp);
  26. AX_S32 AX_VDEC_StopRecvStream(AX_VDEC_GRP VdGrp);
  27. AX_S32 AX_VDEC_QueryStatus(AX_VDEC_GRP VdGrp,AX_VDEC_GRP_STATUS_S *pstStatus);
  28. AX_S32 AX_VDEC_ResetGrp(AX_VDEC_GRP VdGrp);
  29. AX_S32 AX_VDEC_SetGrpParam(AX_VDEC_GRP VdGrp, const AX_VDEC_GRP_PARAM_S* pstParam);
  30. AX_S32 AX_VDEC_GetGrpParam(AX_VDEC_GRP VdGrp, AX_VDEC_GRP_PARAM_S* pstParam);
  31. AX_S32 AX_VDEC_SetProtocolParam(AX_VDEC_GRP VdGrp, const AX_VDEC_PRTCL_PARAM_S *pstParam);
  32. AX_S32 AX_VDEC_GetProtocolParam(AX_VDEC_GRP VdGrp,AX_VDEC_PRTCL_PARAM_S *pstParam);
  33. /* s32MilliSec: -1 is block,0 is no block,other positive number is timeout */
  34. AX_S32 AX_VDEC_SendStream(AX_VDEC_GRP VdGrp, const AX_VDEC_STREAM_S *pstStream, AX_S32 s32MilliSec);
  35. AX_S32 AX_VDEC_GetFrame(AX_VDEC_GRP VdGrp, AX_VIDEO_FRAME_INFO_S *pstFrameInfo, AX_S32 s32MilliSec);
  36. AX_S32 AX_VDEC_ReleaseFrame(AX_VDEC_GRP VdGrp, const AX_VIDEO_FRAME_INFO_S *pstFrameInfo);
  37. AX_S32 AX_VDEC_GetUserData(AX_VDEC_GRP VdGrp, AX_VDEC_USERDATA_S *pstUserData, AX_S32 s32MilliSec);
  38. AX_S32 AX_VDEC_ReleaseUserData(AX_VDEC_GRP VdGrp, const AX_VDEC_USERDATA_S *pstUserData);
  39. AX_S32 AX_VDEC_SetUserPic(AX_VDEC_GRP VdGrp, const AX_VIDEO_FRAME_INFO_S *pstUsrPic);
  40. AX_S32 AX_VDEC_EnableUserPic(AX_VDEC_GRP VdGrp, AX_BOOL bInstant);
  41. AX_S32 AX_VDEC_DisableUserPic(AX_VDEC_GRP VdGrp);
  42. AX_S32 AX_VDEC_JpegDecodeOneFrame(AX_JPEG_DECODE_ONCE_PARAMS *pstParam);
  43. AX_S32 AX_VDEC_SetDisplayMode(AX_VDEC_GRP VdGrp, AX_VDEC_DISPLAY_MODE_E enDisplayMode);
  44. AX_S32 AX_VDEC_GetDisplayMode(AX_VDEC_GRP VdGrp, AX_VDEC_DISPLAY_MODE_E *penDisplayMode);
  45. AX_S32 AX_VDEC_AttachPool(AX_VDEC_GRP VdGrp, AX_POOL Pool);
  46. AX_S32 AX_VDEC_DetachPool(AX_VDEC_GRP VdGrp);
  47. AX_S32 AX_VDEC_Debug_Init();
  48. AX_S32 AX_VDEC_Debug_DeInit();
  49. AX_S32 AX_VDEC_SetDebugFifoDepth(AX_VDEC_GRP VdGrp, AX_U32 u32FifoDepth);
  50. AX_S32 AX_VDEC_GetDebugFifoFrame(AX_VDEC_GRP VdGrp, AX_VIDEO_FRAME_INFO_S *pstFrameInfo);
  51. AX_S32 AX_VDEC_ReleaseDebugFifoFrame(AX_VDEC_GRP VdGrp, const AX_VIDEO_FRAME_INFO_S *pstFrameInfo);
  52. #ifdef __cplusplus
  53. }
  54. #endif
  55. #endif