[Ffmpeg-devel] [RFC] fixed point mdct transform
Fabrice Bellard
fabrice
Fri Nov 25 23:29:37 CET 2005
Benjamin Larsson wrote:
> I did a fixed point mdct and was hoping to use it in ffmpeg for some of
> the audio codecs. The code is located here:
>
> http://tranquillity.campus.luth.se/~banan/fpmdct/
>
> The problem with this implementation is that it needs lots of fractional
> bits to get good precision. In _kiss_fft_guts.h the FRACBITS define lets
> you change the amount of fractional bits to use. The minimum amount of
> bits for the random test table seams to be 12. Less then 12 gives more
> then 1 bit difference compared to the reference calculation in some
> cases (I consider that to much). The amount of fractional bits also
> cause >32bit overflow when multiplying. My aim is to only use 32 bits to
> aid embedded use, but I'm not sure how to do that. So does anyone have
> any wise comments to share in this matter ? I guess the core problem is
> how to do a fast precise fft transform with integer arithmetics without
> using more then 32bits.
Note that there is already an integer mdct transform in
libavcodec/ac3enc.c. It can be the basis for a more precise one. I have
always considered the floating point FFT/MDCT support in libavcodec as a
temporary solution and my goal was to switch to all integer arithmetic
as soon as possible !
Fabrice.
More information about the ffmpeg-devel
mailing list