62 lines
1.4 KiB
C++
62 lines
1.4 KiB
C++
/***************************************************************************\
|
|
*
|
|
* MPEG Layer3-Audio Decoder
|
|
* © 1997-2006 by Fraunhofer IIS
|
|
* All Rights Reserved
|
|
*
|
|
* filename: mdct.h
|
|
* project : ISO/MPEG-Decoder
|
|
* author : Stefan Gewinner
|
|
* date : 1998-05-26
|
|
* contents/description: mdct class - HEADER
|
|
*
|
|
*
|
|
\***************************************************************************/
|
|
|
|
/*
|
|
* $Date: 2011/01/18 18:22:03 $
|
|
* $Id: mdct.h,v 1.4 2011/01/18 18:22:03 audiodsp Exp $
|
|
*/
|
|
|
|
#ifndef __MDCT_H__
|
|
#define __MDCT_H__
|
|
|
|
/* ------------------------ includes --------------------------------------*/
|
|
|
|
#include "mpeg.h"
|
|
#include "foundation/align.h"
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
//
|
|
// MDCT class.
|
|
//
|
|
// This object performs the frequency-to-time mapping.
|
|
//
|
|
|
|
class CMdct
|
|
{
|
|
|
|
public :
|
|
|
|
CMdct(const MPEG_INFO &_info);
|
|
~CMdct() {}
|
|
|
|
void Init();
|
|
void Apply(int ch, const MP3SI_GRCH &SiGrCH, SPECTRUM &rs);
|
|
|
|
protected :
|
|
|
|
void cos_t_h_long (float *prev,float *dest,const float *win);
|
|
void cos_t_h_short(float *prev,float *dest,const float *win);
|
|
|
|
float hybrid_res[36];
|
|
NALIGN(16) float cost36_rese[9];
|
|
NALIGN(16) float cost36_reso[9];
|
|
|
|
const MPEG_INFO &info;
|
|
SPECTRUM prevblck;
|
|
};
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
#endif
|