mp4decapi_internal.h 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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: mp4decapi_internal.h,v $
  23. -- $Date: 2009/08/12 13:22:13 $
  24. -- $Revision: 1.4 $
  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 _MP4DECAPI_INTERNAL_H_
  33. #define _MP4DECAPI_INTERNAL_H_
  34. /*------------------------------------------------------------------------------
  35. 1. Include headers
  36. ------------------------------------------------------------------------------*/
  37. #include "mp4deccfg.h"
  38. #include "mp4dechwd_utils.h"
  39. #include "mp4decapi.h"
  40. /*------------------------------------------------------------------------------
  41. 2. Internal Definitions
  42. ------------------------------------------------------------------------------*/
  43. /*
  44. * Size of internal frame buffers (in 32bit-words) per macro block
  45. */
  46. #define MP4API_DEC_FRAME_BUFF_SIZE 96
  47. /*
  48. * Size of CTRL buffer (macroblks * 4 * 32bit-words/Mb), same for MV and DC
  49. */
  50. #define MP4API_DEC_CTRL_BUFF_SIZE NBR_OF_WORDS_MB * MP4API_DEC_MBS
  51. #define MPAPI_DEC_MV_BUFF_SIZE NBR_MV_WORDS_MB * MP4API_DEC_MBS
  52. #define MPAPI_DEC_DC_BUFF_SIZE NBR_DC_WORDS_MB * MP4API_DEC_MBS
  53. #define MP4API_DEC_NBOFRLC_BUFF_SIZE MP4API_DEC_MBS * 6
  54. #ifndef NULL
  55. #define NULL 0
  56. #endif
  57. #define SWAP_POINTERS(A, B, T) T = A; A = B; B = T;
  58. #define INVALID_ANCHOR_PICTURE ((u32)-1)
  59. #define MP4DEC_QUANT_TABLE_SIZE (2*64)
  60. /*------------------------------------------------------------------------------
  61. 3. Prototypes of Decoder API internal functions
  62. ------------------------------------------------------------------------------*/
  63. /*void regDump(MP4DecInst decInst);*/
  64. void MP4NotCodedVop(DecContainer * pDecContainer);
  65. void MP4API_InitDataStructures(DecContainer * pDecCont);
  66. void MP4DecTimeCode(DecContainer * pDecCont, MP4DecTime * timeCode);
  67. MP4DecRet MP4AllocateBuffers(DecContainer * pDecCont);
  68. void MP4FreeBuffers(DecContainer * pDecCont);
  69. MP4DecRet MP4AllocateRlcBuffers(DecContainer * pDecCont);
  70. MP4DecRet MP4DecCheckSupport(DecContainer * pDecCont);
  71. void MP4DecPixelAspectRatio(DecContainer * pDecCont, MP4DecInfo * pDecInfo);
  72. void MP4DecBufferPicture(DecContainer *pDecCont, u32 picId,
  73. u32 vopType, u32 nbrErrMbs);
  74. MP4DecRet MP4DecAllocExtraBPic(DecContainer * pDecCont);
  75. u32 * MP4DecResolveVirtual(DecContainer * pDecCont, u32 index );
  76. u32 MP4DecResolveBus(DecContainer * pDecCont, u32 index );
  77. void MP4DecChangeDataIndex( DecContainer * pDecCont, u32 to, u32 from);
  78. u32 MP4DecBFrameSupport(DecContainer * pDecCont);
  79. #endif /* _MP4DECAPI_INTERNAL_H_ */