12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #pragma once
- #include "mpeg.h"
- #include "foundation/align.h"
- #define HAN_SIZE 512
- 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 ;
- void window_band_m(int bufOffset, float *out_samples) const;
- void window_band_s(int bufOffset, float *out_samples) const;
- };
|