Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
fft.h
Go to the documentation of this file.
00001 /*  Audacious - Cross-platform multimedia player
00002  *  Copyright (C) 2005-2007  Audacious development team
00003  *
00004  *  Copyright (C) 1999 Richard Boulton <richard@tartarus.org>
00005  *
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU General Public License as published by
00008  *  the Free Software Foundation; under version 3 of the License.
00009  *
00010  *  This program is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  *  GNU General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU General Public License
00016  *  along with this program.  If not, see <http://www.gnu.org/licenses>.
00017  *
00018  *  The Audacious team does not consider modular code linking to
00019  *  Audacious or using our public API to be a derived work.
00020  */
00021 
00022 /* fft.h: header for iterative implementation of a FFT */
00023 
00024 #ifndef AUDACIOUS_FFT_H
00025 #define AUDACIOUS_FFT_H
00026 
00027 #include <glib.h>
00028 
00029 #define FFT_BUFFER_SIZE_LOG 9
00030 #define FFT_BUFFER_SIZE (1 << FFT_BUFFER_SIZE_LOG)
00031 
00032 /* sound sample - should be a signed 16 bit value */
00033 typedef gint16 sound_sample;
00034 
00035 typedef struct _struct_fft_state fft_state;
00036 fft_state *fft_init(void);
00037 void fft_perform(const sound_sample * input, float *output, fft_state * state);
00038 void fft_close(fft_state * state);
00039 
00040 #endif /* AUDACIOUS_FFT_H */