blob: 5e865d06f240cdef93f712bc17fc78f3de5b9556 [file] [log] [blame]
Gloria Wang0f6f2522010-02-04 13:58:20 -08001/********************************************************************
2 * *
3 * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. *
4 * *
5 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
6 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
7 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
8 * *
9 * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2003 *
10 * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *
11 * *
12 ********************************************************************
13
14 function: modified discrete cosine transform prototypes
15
16 ********************************************************************/
17
18#ifndef _OGG_mdct_H_
19#define _OGG_mdct_H_
20
21#include "ivorbiscodec.h"
22#include "misc.h"
23
24#define DATA_TYPE ogg_int32_t
25#define REG_TYPE register ogg_int32_t
26
27#ifdef _LOW_ACCURACY_
28#define cPI3_8 (0x0062)
29#define cPI2_8 (0x00b5)
30#define cPI1_8 (0x00ed)
31#else
32#define cPI3_8 (0x30fbc54d)
33#define cPI2_8 (0x5a82799a)
34#define cPI1_8 (0x7641af3d)
35#endif
36
37extern void mdct_backward(int n, DATA_TYPE *in);
38extern void mdct_shift_right(int n, DATA_TYPE *in, DATA_TYPE *right);
39extern void mdct_unroll_lap(int n0,int n1,
40 int lW,int W,
41 DATA_TYPE *in,DATA_TYPE *right,
42 LOOKUP_T *w0,LOOKUP_T *w1,
43 ogg_int16_t *out,
44 int step,
45 int start,int end /* samples, this frame */);
46
47#endif
48
49
50
51
52
53
54
55
56
57
58
59