huffmanbitobj.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /***************************************************************************\
  2. *
  3. * MPEG Layer3-Audio Decoder
  4. * © 1997-2006 by Fraunhofer IIS
  5. * All Rights Reserved
  6. *
  7. * filename: huffmanbitobj.h
  8. * project : MPEG Decoder
  9. * author : Martin Sieler
  10. * date : 1997-12-29
  11. * contents/description: HEADER - Huffman Bit Object
  12. *
  13. *
  14. \***************************************************************************/
  15. /*
  16. * $Date: 2011/01/18 23:00:53 $
  17. * $Id: huffmanbitobj.h,v 1.3 2011/01/18 23:00:53 audiodsp Exp $
  18. */
  19. #ifndef __HUFFMANBITOBJ_H__
  20. #define __HUFFMANBITOBJ_H__
  21. /* ------------------------ includes --------------------------------------*/
  22. /*-------------------------- defines --------------------------------------*/
  23. class CBitStream;
  24. class CHuffmanTable;
  25. /*-------------------------------------------------------------------------*/
  26. //
  27. // Class holding one huffman value.
  28. //
  29. // This object reads and decodes one huffman value from a CBitStream
  30. // object. One huffman value represents either two (big value part) or four
  31. // spectral lines (count-one part).
  32. //
  33. class CHuffmanBitObj
  34. {
  35. public:
  36. CHuffmanBitObj(const CHuffmanTable &HT);
  37. virtual ~CHuffmanBitObj();
  38. int ReadFrom(CBitStream &BS) const;
  39. private:
  40. const CHuffmanTable& m_HuffmanTable;
  41. };
  42. /*-------------------------------------------------------------------------*/
  43. #endif