rvdecapi_internal.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /*------------------------------------------------------------------------------
  2. -- --
  3. -- This software is confidential and proprietary and may be used --
  4. -- only as expressly authorized by a licensing agreement from --
  5. -- --
  6. -- Hantro Products Oy. --
  7. -- --
  8. -- (C) COPYRIGHT 2006 HANTRO PRODUCTS OY --
  9. -- ALL RIGHTS RESERVED --
  10. -- --
  11. -- The entire notice above must be reproduced --
  12. -- on all copies and should not be removed. --
  13. -- --
  14. --------------------------------------------------------------------------------
  15. --
  16. -- Abstract: api internal defines
  17. --
  18. --------------------------------------------------------------------------------
  19. --
  20. -- Version control information, please leave untouched.
  21. --
  22. -- $RCSfile: rvdecapi_internal.h,v $
  23. -- $Date: 2009/05/08 07:04:48 $
  24. -- $Revision: 1.2 $
  25. ------------------------------------------------------------------------------*/
  26. /*------------------------------------------------------------------------------
  27. Table of contents
  28. 1. Include headers
  29. 2. Internal Definitions
  30. 3. Prototypes of Decoder API internal functions
  31. ------------------------------------------------------------------------------*/
  32. #ifndef RV_DECAPI_INTERNAL_H
  33. #define RV_DECAPI_INTERNAL_H
  34. /*------------------------------------------------------------------------------
  35. 1. Include headers
  36. ------------------------------------------------------------------------------*/
  37. #include "rv_cfg.h"
  38. #include "rv_utils.h"
  39. #include "rvdecapi.h"
  40. /*------------------------------------------------------------------------------
  41. 2. Internal Definitions
  42. ------------------------------------------------------------------------------*/
  43. #define RV_DEC_X170_IRQ_DEC_RDY 0x01
  44. #define RV_DEC_X170_IRQ_BUS_ERROR 0x02
  45. #define RV_DEC_X170_IRQ_BUFFER_EMPTY 0x04
  46. #define RV_DEC_X170_IRQ_ASO 0x08
  47. #define RV_DEC_X170_IRQ_STREAM_ERROR 0x10
  48. #define RV_DEC_X170_IRQ_TIMEOUT 0x40
  49. #define RV_DEC_X170_IRQ_CLEAR_ALL 0xFF
  50. #define RV_DEC_X170_MAX_NUM_SLICES (128)
  51. /*
  52. * Size of internal frame buffers (in 32bit-words) per macro block
  53. */
  54. #define RVAPI_DEC_FRAME_BUFF_SIZE 96
  55. #ifndef NULL
  56. #define NULL 0
  57. #endif
  58. #define SWAP_POINTERS(A, B, T) T = A; A = B; B = T;
  59. #define INVALID_ANCHOR_PICTURE ((u32)-1)
  60. /*------------------------------------------------------------------------------
  61. 3. Prototypes of Decoder API internal functions
  62. ------------------------------------------------------------------------------*/
  63. void rvAPI_InitDataStructures(DecContainer * pDecCont);
  64. void rvDecTimeCode(DecContainer * pDecCont, RvDecTime * timeCode);
  65. RvDecRet rvAllocateBuffers(DecContainer * pDecCont);
  66. RvDecRet rvDecCheckSupport(DecContainer * pDecCont);
  67. void rvDecPreparePicReturn(DecContainer * pDecCont);
  68. void rvDecAspectRatio(DecContainer * pDecCont, RvDecInfo * pDecInfo);
  69. void rvDecBufferPicture(DecContainer * pDecCont, u32 picId, u32 bufferB,
  70. u32 isInter, RvDecRet returnValue, u32 nbrErrMbs);
  71. void rvFreeBuffers(DecContainer * pDecCont);
  72. void rvInitVlcTables(DecContainer * pDecCont);
  73. #endif /* RV_DECAPI_INTERNAL_H */