00001 // Copyright (C) 2001 Jean-Marc Valin 00002 00003 /******************************************************************** 00004 * * 00005 * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * 00006 * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * 00007 * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * 00008 * PLEASE READ THESE TERMS DISTRIBUTING. * 00009 * * 00010 * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-2000 * 00011 * by Monty <monty@xiph.org> and The XIPHOPHORUS Company * 00012 * http://www.xiph.org/ * 00013 * * 00014 ******************************************************************** 00015 00016 function: modified discrete cosine transform prototypes 00017 last mod: $Id: mdct.h,v 1.3 2001/05/25 21:33:19 jmvalin Exp $ 00018 00019 ********************************************************************/ 00020 00021 #ifndef _OGG_mdct_H_ 00022 #define _OGG_mdct_H_ 00023 00024 #ifdef __cplusplus 00025 extern "C" 00026 { 00027 #endif /* __cplusplus */ 00028 00029 //#include "codec.h" 00030 00031 typedef struct { 00032 int n; 00033 int log2n; 00034 00035 double *trig; 00036 int *bitrev; 00037 00038 } mdct_lookup; 00039 00040 extern void mdct_init(mdct_lookup *lookup,int n); 00041 extern void mdct_clear(mdct_lookup *l); 00042 extern void mdct_forward(mdct_lookup *init, double *in, double *out); 00043 extern void mdct_backward(mdct_lookup *init, double *in, double *out); 00044 00045 #ifdef __cplusplus 00046 } 00047 #endif /* __cplusplus */ 00048 00049 #endif 00050 00051 00052 00053 00054 00055 00056 00057 00058 00059 00060 00061