1 /******************************************************************** 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 37 extern void mdct_backward(int n, DATA_TYPE *in); 38 extern void mdct_shift_right(int n, DATA_TYPE *in, DATA_TYPE *right); 39 extern 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 60