Mark Borgerding
2004-Aug-06 15:01 UTC
[speex-dev] fixed point conversion volunteer (OMG what am I doing?)
> > 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, > DavidGlad 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 testing. 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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.