1
0

huffdec.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /***************************************************************************\
  2. *
  3. * MPEG Layer3-Audio Decoder
  4. * © 1997-2006 by Fraunhofer IIS
  5. * All Rights Reserved
  6. *
  7. * filename: huffdec.h
  8. * project : ISO/MPEG Decoder
  9. * author : Martin Sieler
  10. * date : 1998-05-26
  11. * contents/description: main hufman decoding - HEADER
  12. *
  13. *
  14. \***************************************************************************/
  15. /*
  16. * $Date: 2010/11/17 20:46:02 $
  17. * $Id: huffdec.h,v 1.1 2010/11/17 20:46:02 audiodsp Exp $
  18. */
  19. #ifndef __HUFFDEC_H__
  20. #define __HUFFDEC_H__
  21. /* ------------------------ includes --------------------------------------*/
  22. #include "mpeg.h"
  23. #include "huffmandecoder.h"
  24. /* ------------------------------------------------------------------------*/
  25. //
  26. // MPEG Layer-3 huffman decoding class.
  27. //
  28. // This class is derived from a CHuffmanDecoder object. In addition to
  29. // the CHuffmanDecoder object, this object calculates the number of
  30. // spectral lines in the big value area, the number of spectral lines in the
  31. // count-one area and the region boundaries within the big value area from
  32. // an MPEG Layer-3 bitstream sideinfo.
  33. //
  34. class CMp3Huffman : protected CHuffmanDecoder
  35. {
  36. public:
  37. CMp3Huffman() {}
  38. ~CMp3Huffman() {}
  39. void Read
  40. (
  41. CBitStream &Bs, // where to read from
  42. int *pISpectrum, // pointer to spectrum
  43. MP3SI_GRCH &SiGrCh, // side info (granule/channel)
  44. const MPEG_INFO &Info // mpeg info
  45. );
  46. };
  47. /*-------------------------------------------------------------------------*/
  48. #endif