[FFmpeg-devel] Information about FFT implementation in ffmpeg

jogging song joggingsong at gmail.com
Mon Jul 25 10:30:39 CEST 2011

Hi, all

I hope to learn more about FFT implementation in ffmpeg.
FFT in ffmpeg performs on float type data.
When twiddle factors are generated, only one fourth of
the length is calculated. Others are copied from generated
twiddle factors and only cosine is generated.
When the precision is considered, more twiddle factors
are required.

Such as in the function ff_init_ff_cos_tabs
for(i=0; i<=m/4; i++)

   tab[i] = cos(i*freq);

When i > m /4, the cosine value calculated from the
above equation is not equal to the value copied
from the generated value. One or two significant
digits are different.

Now I try to generate twiddle factors of half of the length
for both cosine value and sine value, and use these
twiddle factors to calculate FFT. I need to modify the
source code.

Is there any materials about the FFT implementation in ffmpeg?
Do I need change the function split_radix_permutation?

Thanks in advance.

Best Regards

More information about the ffmpeg-devel mailing list