mdct.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /***************************************************************************\
  2. *
  3. * MPEG Layer3-Audio Decoder
  4. * © 1997-2006 by Fraunhofer IIS
  5. * All Rights Reserved
  6. *
  7. * filename: mdct.h
  8. * project : ISO/MPEG-Decoder
  9. * author : Stefan Gewinner
  10. * date : 1998-05-26
  11. * contents/description: mdct class - HEADER
  12. *
  13. *
  14. \***************************************************************************/
  15. /*
  16. * $Date: 2011/01/18 18:22:03 $
  17. * $Id: mdct.h,v 1.4 2011/01/18 18:22:03 audiodsp Exp $
  18. */
  19. #ifndef __MDCT_H__
  20. #define __MDCT_H__
  21. /* ------------------------ includes --------------------------------------*/
  22. #include "mpeg.h"
  23. #include "foundation/align.h"
  24. /*-------------------------------------------------------------------------*/
  25. //
  26. // MDCT class.
  27. //
  28. // This object performs the frequency-to-time mapping.
  29. //
  30. class CMdct
  31. {
  32. public :
  33. CMdct(const MPEG_INFO &_info);
  34. ~CMdct() {}
  35. void Init();
  36. void Apply(int ch, const MP3SI_GRCH &SiGrCH, SPECTRUM &rs);
  37. protected :
  38. void cos_t_h_long (float *prev,float *dest,const float *win);
  39. void cos_t_h_short(float *prev,float *dest,const float *win);
  40. float hybrid_res[36];
  41. NALIGN(16) float cost36_rese[9];
  42. NALIGN(16) float cost36_reso[9];
  43. const MPEG_INFO &info;
  44. SPECTRUM prevblck;
  45. };
  46. /*-------------------------------------------------------------------------*/
  47. #endif