12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /***************************************************************************\
- *
- * MPEG Layer3-Audio Decoder
- * © 1997-2006 by Fraunhofer IIS
- * All Rights Reserved
- *
- * filename: polyphase.h
- * project : ISO/MPEG-Decoder
- * author : Stefan Gewinner
- * date : 1998-05-26
- * contents/description: polyphase class - HEADER
- *
- *
- \***************************************************************************/
- /*
- * $Date: 2011/02/14 14:48:56 $
- * $Id: polyphase.h,v 1.6 2011/02/14 14:48:56 bigg Exp $
- */
- #pragma once
- //#ifndef __POLYPHASE_H__
- //#define __POLYPHASE_H__
- /* ------------------------ includes --------------------------------------*/
- #include "mpeg.h"
- #include "foundation/align.h"
- /*-------------------------------------------------------------------------*/
- #define HAN_SIZE 512
- /*-------------------------------------------------------------------------*/
- // Class for (inverse) Polyphase calculation.
- class CPolyphase
- {
- public:
- CPolyphase(const MPEG_INFO &_info);
- ~CPolyphase() {}
- void Init();
- float *Apply(POLYSPECTRUM &sample, float *pPcm, int frms=18);
- static void Reorder(int channels, POLYSPECTRUM &output, const SPECTRUM &input);
- protected:
- int bufOffset;
- NALIGN(16) float syn_buf[2][HAN_SIZE];
- const MPEG_INFO &info ; // info-structure
- void window_band_m(int bufOffset, float *out_samples) const;
- void window_band_s(int bufOffset, float *out_samples) const;
- };
- /*-------------------------------------------------------------------------*/
- //#endif
|