rv_storage.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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 : Stream decoding storage definition
  17. --
  18. --------------------------------------------------------------------------------
  19. --
  20. -- Version control information, please leave untouched.
  21. --
  22. -- $RCSfile: rv_storage.h,v $
  23. -- $Date: 2010/03/31 08:55:00 $
  24. -- $Revision: 1.7 $
  25. --
  26. ------------------------------------------------------------------------------*/
  27. /*------------------------------------------------------------------------------
  28. Table of context
  29. 1. xxx...
  30. ------------------------------------------------------------------------------*/
  31. #ifndef RV_STRMSTORAGE_H
  32. #define RV_STRMSTORAGE_H
  33. #include "basetype.h"
  34. #include "rv_cfg.h"
  35. #include "bqueue.h"
  36. typedef struct
  37. {
  38. DWLLinearMem_t data;
  39. u32 picType;
  40. u32 picId;
  41. u32 tf;
  42. u32 ff[2];
  43. u32 rff;
  44. u32 rfc;
  45. u32 isInter;
  46. u32 nbrErrMbs;
  47. RvDecRet retVal;
  48. u32 sendToPp;
  49. RvDecTime timeCode;
  50. u32 frameWidth, frameHeight;
  51. u32 codedWidth, codedHeight;
  52. } picture_t;
  53. typedef struct
  54. {
  55. u32 status;
  56. u32 strmDecReady;
  57. picture_t pPicBuf[16];
  58. picture_t pRprBuf;
  59. u32 outBuf[16];
  60. u32 outIndex;
  61. u32 outCount;
  62. u32 workOut;
  63. u32 work0;
  64. u32 work1;
  65. u32 latestId; /* current pic id, used for debug */
  66. u32 skipB;
  67. u32 prevPicCodingType;
  68. u32 pictureBroken;
  69. u32 intraFreeze;
  70. u32 rprDetected;
  71. u32 rprNextPicType;
  72. u32 previousB;
  73. u32 previousModeFull;
  74. u32 isRv8;
  75. u32 fwdScale;
  76. u32 bwdScale;
  77. u32 tr;
  78. u32 prevTr;
  79. u32 trb;
  80. DWLLinearMem_t vlcTables;
  81. DWLLinearMem_t directMvs;
  82. DWLLinearMem_t rprWorkBuffer;
  83. DWLLinearMem_t slices;
  84. u32 frameCodeLength;
  85. u32 frameSizes[2*9];
  86. u32 maxFrameWidth, maxFrameHeight;
  87. u32 maxMbsPerFrame;
  88. u32 numSlices;
  89. u32 rawMode;
  90. /* to store number of bits needed to indicate rv9 frame size */
  91. u32 frameSizeBits;
  92. /* used to compute timestamps for output pictures */
  93. u32 picId;
  94. u32 prevPicId;
  95. u32 prevBIdx;
  96. bufferQueue_t bq;
  97. bufferQueue_t bqPp;
  98. u32 maxNumBuffers;
  99. u32 numBuffers;
  100. u32 numPpBuffers;
  101. } DecStrmStorage;
  102. #endif /* #ifndef RV_STRMSTORAGE_H */