blob: d918330b2bbb968da47e2779f90f2971731ef8bd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#ifndef __MP2DECODE_H__
#define __MP2DECODE_H__
/* ------------------------ includes --------------------------------------*/
#include "mpeg.h"
#include "mpegbitstream.h"
#include "polyphase.h"
/*-------------------------------------------------------------------------*/
//
// MPEG Layer-2 decoding class.
//
// This is the main MPEG Layer-2 decoder object.
//
class CMp2Decode
{
public:
CMp2Decode(CMpegBitStream &_Bs, DecoderHooks *_hooks=0);
~CMp2Decode();
void Init(bool fFullReset = true);
SSC Decode(void *pPcm, size_t cbPcm, size_t *pcbUsed);
private:
SSC Decode2(void *pPcm);
SSC Decode1(void *pPcm);
void ZeroPolySpectrum();
void SetInfo();
CPolyphase m_Polyphase; // polyphase
MPEG_INFO m_Info; // info structure
CMpegBitStream &m_Bs; // bitstream
POLYSPECTRUM m_PolySpectrum; // spectrum (post-mdct)
char m_tab_3[32 * 3];
char m_tab_5[128 * 3];
char m_tab_9[1024 * 3];
float m_scales[27][64];
DecoderHooks *hooks;
};
/*-------------------------------------------------------------------------*/
#endif
|