[Ffmpeg-devel] Fixed vs. Floating Point AAC

Rich Felker dalias
Wed Mar 8 17:39:10 CET 2006


On Wed, Mar 08, 2006 at 01:01:47PM +0100, Michael Niedermayer wrote:
> Hi
> 
> On Wed, Mar 08, 2006 at 04:14:25AM -0500, Rich Felker wrote:
> > On Sun, Mar 05, 2006 at 02:11:54PM -0800, Mike Melanson wrote:
> > > Hi,
> > > 	Pursuant to the recent discussion of a possible AAC 
> > > 	re-implementation, do you think it should rely on fixed or floating point 
> > > numbers? I know the prevailing sentiment will probably be fixed point. So I 
> > 
> > Definitely integer (fixed point).
> 
> it should support both, fixed point is absolutely needed for embeded systems
> (and richs K6), and floating point is more accurate and faster on modern
> cpus, and floating point is much easier to implement

Would you like to provide benches showing it's faster? Testing of
libvorbis versus tremor has shown that the integer implementation
(tremor) is always faster, even on the latest cpus. This is without
any vectorization (except possible float vectorization by gcc?); with
mmx/3dnow/etc the difference should be even more drastic.

Also accuracy is another issue entirely, but integer implementations
will give bitexact reproducible, regression-testable output, whereas
float behavior will often vary from one cpu to another due to bugs,
optimizations, additional beyond-spec precision, etc. Personally I
would never call code that gives different output on different cpus
more "accurate".

Rich





More information about the ffmpeg-devel mailing list