00001 #define NUMBER_OF_COLUMNS 8 00002 #define NUMBER_OF_POINTS (1<<NUMBER_OF_COLUMNS) 00003 #define NUMBER_OF_FREQUENCIES (NUMBER_OF_POINTS>>1) 00004 00005 #if HARDWARE_MULTIPLY 00006 /* 00007 * This routine obtains the audio data from the audio I/O component and copies this 00008 * data to local arrays for calculating purposes, and calls the FFT algorithm. 00009 */ 00010 void perform_fft(signed 18 *pcm_audio); 00011 00012 /* This routine calls the ifft algorithm and after completing that it obtains the 00013 * modified audio data and copies that to the output arrays of the audio I/O component. 00014 * Besides that it also fills the array used by the display routine for displaying the waveform. 00015 */ 00016 void perform_ifft(signed 18 *modified_audio ,unsigned 6 *ifft_info); 00017 #else 00018 /* 00019 * This routine obtains the audio data from the audio I/O component and copies this 00020 * data to local arrays for calculating purposes, and calls the FFT algorithm. 00021 */ 00022 void perform_fft(signed 16 *pcm_audio); 00023 00024 /* This routine calls the ifft algorithm and after completing that it obtains the 00025 * modified audio data and copies that to the output arrays of the audio I/O component. 00026 * Besides that it also fills the array used by the display routine for displaying the waveform. 00027 */ 00028 void perform_ifft(signed 16 *modified_audio ,unsigned 6 *ifft_info); 00029 #endif 00030 00031 /* This routine equalizes the frequencies derived by the FFT calculation, 00032 * according to the settings of the equalizer bars. 00033 */ 00034 void equalize_audio(audiodata_t *audiodata);