[Speex-dev] Floating point implementation

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Mon Oct 8 16:18:14 PDT 2007


> I'm fairly new to Speex, so please forgive me if this question has an
> obvious answer. I'm currently studying the source code to understand how
> Speex works and wondered, is there still a floating-point implementation
> I could look at as the fixed-point stuff makes it a little difficult to
> see what the code is doing.

Actually, the floating-point implementation is the same as the
fixed-point. The only change is that for float, operators like MULT16_16
just change into "*" and shifts disappear.

Another option you have is to look at the 1.0.5 source code. In that
case, just be aware that several things have been changed since then and
that newer versions are computing some of the things differently (more
efficiently). Of course, despite reworking some bits and removing
redundant calculations, it's still the same overall algorithm (because
it's perfectly compatible with 1.2beta2).

	Jean-Marc


More information about the Speex-dev mailing list