vc1hwd_stream.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. -- Description : Stream buffer handling
  17. --
  18. --------------------------------------------------------------------------------
  19. --
  20. -- Version control information, please leave untouched.
  21. --
  22. -- $RCSfile: vc1hwd_stream.h,v $
  23. -- $Revision: 1.4 $
  24. -- $Date: 2007/12/13 13:27:45 $
  25. --
  26. ------------------------------------------------------------------------------*/
  27. #ifndef VC1HWD_STREAM_H
  28. #define VC1HWD_STREAM_H
  29. /*------------------------------------------------------------------------------
  30. Include headers
  31. ------------------------------------------------------------------------------*/
  32. #include "basetype.h"
  33. /*------------------------------------------------------------------------------
  34. Module defines
  35. ------------------------------------------------------------------------------*/
  36. /*------------------------------------------------------------------------------
  37. Data types
  38. ------------------------------------------------------------------------------*/
  39. typedef struct
  40. {
  41. u8 *pStrmBuffStart; /* pointer to start of stream buffer */
  42. u8 *pStrmCurrPos; /* current read address in stream buffer */
  43. u32 bitPosInWord; /* bit position in stream buffer byte */
  44. u32 strmBuffSize; /* size of stream buffer (bytes) */
  45. u32 strmBuffReadBits; /* number of bits read from stream buffer */
  46. u32 strmExhausted; /* attempted to read more bits from the stream
  47. * than available. */
  48. u32 removeEmulPrevBytes;
  49. } strmData_t;
  50. /*------------------------------------------------------------------------------
  51. Function prototypes
  52. ------------------------------------------------------------------------------*/
  53. u32 vc1hwdGetBits(strmData_t *pStrmData, u32 numBits);
  54. u32 vc1hwdShowBits(strmData_t *pStrmData, u32 numBits );
  55. u32 vc1hwdFlushBits(strmData_t *pStrmData, u32 numBits);
  56. u32 vc1hwdIsExhausted(const strmData_t * const);
  57. #endif /* #ifndef VC1HWD_STREAM_H */