I notice you have tons of c++-isms you should check: On Thu, Oct 30, 2014 at 3:03 PM, Senjuti Kundu <senjutikund...@gmail.com> wrote: > + int i = 0; > + float* maskingfunc = malloc(tempsize*sizeof(float)); > + maskingfunc[tempsize/2] = exp(-db_attenuation*log(10));
Split declaration and initialization, as explained on an earlier post. > + int i = 0; > + int j = 0; > + float* mask = malloc(tempsize*sizeof(float)); > + float self = 0; > + float next = 0; > + float prev = 0; Also here (and several other places) > + DECLARE_ALIGNED(32, FFTComplex, fftcomplexa)[SIZE/len]; > + DECLARE_ALIGNED(32, FFTComplex, fftcomplexb)[SIZE/len]; That len is a compile-time variable, not constant, as required by C for sizes. Just remove the /len, a buffer of SIZE complex values will always be bigger. Alternatively, you can use alloca. > + FFTContext* fftcontexta = av_fft_init(floor(log2(SIZE/len)),0); > + av_fft_permute (fftcontexta, fftcomplexa); > + int temp = 0; > + av_fft_calc (fftcontexta, fftcomplexa); > + FFTContext* fftcontextb = av_fft_init(floor(log2(SIZE/len)),0); > + av_fft_permute (fftcontextb, fftcomplexb); > + av_fft_calc (fftcontextb, fftcomplexb); You don't need to initialize on every iteration. Move the av_fft_init outside the loops. Also, don't declare variables in the middle of blocks, that's C++. All declarations should go at the beginning of the enclosing block. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel