diff options
Diffstat (limited to 'Graphic_Equalizer/doc/html/runfft_8hcc-source.html')
-rw-r--r-- | Graphic_Equalizer/doc/html/runfft_8hcc-source.html | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc-source.html b/Graphic_Equalizer/doc/html/runfft_8hcc-source.html deleted file mode 100644 index 28ce4b0..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hcc-source.html +++ /dev/null @@ -1,168 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>runfft.hcc</h1><a href="runfft_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00020 <span class="preprocessor">#include <stdlib.hch></span> -00021 <span class="preprocessor">#include "pal_master.hch"</span> -00022 -00023 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00024 <span class="preprocessor">#if USE_RUNFFT</span> -00025 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00026 <span class="preprocessor">#include "<a class="code" href="fft_8hch.html">fft.hch</a>"</span> -00027 -00028 <span class="preprocessor">#if HAVE_DEBUG</span> -00029 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00030 <span class="preprocessor">#endif</span> -00031 <span class="preprocessor"></span> -00032 <span class="comment">/*</span> -00033 <span class="comment"> * Forward declarations</span> -00034 <span class="comment"> */</span> -00035 <span class="keyword">static</span> macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE; -00036 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00037 <span class="preprocessor"></span><span class="comment">//input buffer</span> -00038 ram <span class="keywordtype">signed</span> 18 audio_buffer_in[256] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00039 <span class="comment">//output buffer</span> -00040 ram <span class="keywordtype">signed</span> 18 audio_buffer_out[128] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00041 <span class="preprocessor">#else</span> -00042 <span class="preprocessor"></span><span class="comment">//input buffer</span> -00043 ram <span class="keywordtype">signed</span> 16 audio_buffer_in[256] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00044 <span class="comment">//output buffer</span> -00045 ram <span class="keywordtype">signed</span> 16 audio_buffer_out[128] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00046 <span class="preprocessor">#endif</span> -00047 <span class="preprocessor"></span><span class="comment">//EQ settings for the FFT</span> -00048 ram <span class="keywordtype">unsigned</span> 4 EQ_info[128] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00049 <span class="comment">//EQ settings received from the display</span> -00050 -00051 -00052 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00053 <span class="preprocessor"></span><span class="keywordtype">signed</span> 18 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4; -00054 -00055 <span class="keywordtype">signed</span> 18 *audioptr_out1,*audioptr_out2; -00056 -00057 <span class="keywordtype">unsigned</span> 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4; -00058 <span class="preprocessor">#else</span> -00059 <span class="preprocessor"></span><span class="keywordtype">signed</span> 16 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4; -00060 -00061 <span class="keywordtype">signed</span> 16 *audioptr_out1,*audioptr_out2; -00062 -00063 <span class="keywordtype">unsigned</span> 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4; -00064 <span class="preprocessor">#endif</span> -00065 <span class="preprocessor"></span> -00076 macro proc <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AUDIOIN, AUDIOOUT) -00077 { -00078 <span class="keywordtype">signed</span> 18 sample; -00079 <span class="keywordtype">unsigned</span> 6 sample_count; -00080 <span class="keywordtype">unsigned</span> 8 i,cycle; -00081 <span class="keywordtype">unsigned</span> 4 eqinfo; -00082 -00083 <span class="keywordtype">unsigned</span> 1 FFT_Sync, first; -00084 macro expr OW = PalAudioOutGetMaxDataWidthCT (); -00085 macro expr IW = PalAudioInGetMaxDataWidthCT (); -00086 <span class="keywordtype">signed</span> LeftNew, RightNew; -00087 <span class="keywordtype">signed</span> Output_sample; -00088 -00089 ram <span class="keywordtype">unsigned</span> 6 input[64]; -00090 -00091 <span class="comment">//pointers for double and quadruple buffering:</span> -00092 audioptr_in1 = &audio_buffer_in[0]; -00093 audioptr_in2 = &audio_buffer_in[64]; -00094 audioptr_in3 = &audio_buffer_in[128]; -00095 audioptr_in4 = &audio_buffer_in[192]; -00096 -00097 audioptr_out1 = &audio_buffer_out[0]; -00098 audioptr_out2 = &audio_buffer_out[64]; -00099 -00100 displayptr1 = &audiodata.ifft_info.write[0]; -00101 displayptr2 = &audiodata.ifft_info.write[64]; -00102 displayptr3 = &audiodata.ifft_info.write[128]; -00103 displayptr4 = &audiodata.ifft_info.write[192]; -00104 -00105 FFT_Sync=0; -00106 par -00107 { -00108 <span class="keywordflow">for</span>(;;) -00109 { -00110 <span class="keywordflow">if</span> (FFT_Sync) <span class="comment">//if 64 samples are read from ADC...</span> -00111 { -00112 par -00113 { -00114 <span class="comment">// switch pointers </span> -00115 audioptr_in1 = audioptr_in2; -00116 audioptr_in2 = audioptr_in3; -00117 audioptr_in3 = audioptr_in4; -00118 audioptr_in4 = audioptr_in1; -00119 -00120 audioptr_out1 = audioptr_out2; -00121 audioptr_out2 = audioptr_out1; -00122 -00123 displayptr1=displayptr2; -00124 displayptr2=displayptr3; -00125 displayptr3=displayptr4; -00126 displayptr4=displayptr1; -00127 -00128 FFT_Sync = 0; -00129 } -00130 -00131 <span class="comment">// FFT calculation</span> -00132 <a class="code" href="fft_8hcc.html#a4">perform_fft</a>(audioptr_in1); -00133 -00134 <span class="preprocessor">#if PERFORM_FFT_CALCULATION</span> -00135 <span class="preprocessor"></span> <a class="code" href="fft_8hcc.html#a6">equalize_audio</a>(&audiodata); -00136 <span class="preprocessor">#endif</span> -00137 <span class="preprocessor"></span> <span class="comment">// inverse FFT calculation</span> -00138 <a class="code" href="fft_8hcc.html#a5">perform_ifft</a>(audioptr_out1,displayptr1); -00139 } -00140 <span class="keywordflow">else</span> -00141 delay; -00142 } -00143 -00144 <span class="keywordflow">for</span>(sample_count=0;;)<span class="comment">//store the samples in the inputbuffer</span> -00145 { -00146 <span class="keywordflow">if</span> (!FFT_Sync) -00147 { -00148 par -00149 { -00150 seq -00151 { -00152 PalAudioInRead(AUDIOIN, &LeftNew, &RightNew); -00153 <span class="preprocessor">#if HARDWARE_MULTIPLY </span> -00154 <span class="preprocessor"></span> audioptr_in1[sample_count] = LeftNew;<span class="comment">//drop 2 LSB's</span> -00155 <span class="preprocessor">#else</span> -00156 <span class="preprocessor"></span> audioptr_in1[sample_count] = (LeftNew\\2);<span class="comment">//drop 2 LSB's</span> -00157 <span class="preprocessor">#endif</span> -00158 <span class="preprocessor"></span> sample_count++; -00159 <span class="keywordflow">if</span> (!sample_count) -00160 { -00161 FFT_Sync = 1; -00162 } -00163 } -00164 seq -00165 { -00166 Output_sample = audioptr_out2[sample_count]; -00167 } -00168 } -00169 } -00170 <span class="keywordflow">else</span> -00171 { -00172 delay; -00173 } -00174 } -00175 <span class="keywordflow">for</span>(;;) -00176 { -00177 PalAudioOutWrite(AUDIOOUT,(<span class="keywordtype">signed</span> OW)(Output_sample @ 0),(<span class="keywordtype">signed</span> OW)(Output_sample @ 0)); -00178 } -00179 }<span class="comment">//end par</span> -00180 }<span class="comment">// end function</span> -00181 <span class="preprocessor">#endif</span> -00182 <span class="preprocessor"></span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> |