[speex-dev] fixed point conversion volunteer (OMG what am I doing?)

Mark Borgerding mark at borgerding.net
Wed Apr 2 05:52:20 PST 2003

> Mark,
> I'm in for some work--time permitting.  Pick me off a chunk and send it
> my way.  I've never done float->int conversions, but I do love
> code optimizations.  I just wish I knew x86 assembly. :)
> Cheers,
> David

Glad to hear from you.  What's your background?

I don't think we should use assembly just yet.  Let's get a C version
working first.  Then product developers can come up with the optimizations
for their specific platforms.

The things to avoid are floating point math and division.  Some chips
don't multiply very well either, but I think that would be hellish to
accomodate those.

<p>re: a plan.

My current thoughts are to make different modes for the fixed point sw.
(see modes.c)

o in addition to
speex_nb_mode , speex_wb_mode ,...
there will be
speex_nb_fixed_mode , speex_wb_fixed_mode ,...

Apps that need only one mode should be able to compile only that mode.

I was thinking of creating nb_fixed_celp.c first, replacing functionality
piecemeal starting at the encoder, then all the way thru decoding.  During
development, wherever the fixed point code leaves off there can be
int-to-float conversions.  This should allow incremental development and

The testenc utility tests encoding then decoding, with a report of SNR.
Everytime a new function has been converted to fixed point, a battery of
tests can be run via testenc to make sure that nothing broke.

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Speex-dev mailing list