Hi Rick,

Nice work. Would you look in
http://svn.xiph.org/trunk/speex/libspeex/
at the files starting with "fixed_", especially fixed_generic.h ?
These are potential templates for porting to both fixed-point and DSP in a portable manner.

    Thanks

    Bruce

On 12/26/2011 10:59 AM, Rick van Rein wrote:
Hello,

We have a 2nd Christmas days in NL, and I wanted to spend this
year's on something to help poor countries forward, by helping
out with Codec2.

This is a patch that optimises a number of things in Codec2
that are mathematically equivalent and (I hope) should not
limit David's freedom in optimising it down to 1000 b/s.
The patch reduces the time spent in codec2_encode() by 10%.
This patch focusses on encoding, not yet on decoding:

Function        SVN r.310       r.310 + patch   Saved
--------------- --------------- --------------- --------
codec2_encode   38.55 ms        34.55 ms        10.4%
nlp             29.87 ms        26.27 ms        12.1%
quantise        25.50 ms        23.42 ms         8.2%

The attached tarball contains the Codec2 and gprof data
for the changes made for each consecutive step, along with
the method used for profiling.  If you agree that these are
all improvements then you are quite welcome to incorporate
this patch with speedups.

I've tried to get closer to a codec that lends itself for
DSP-implementation, by replacing libm calls with plain math,
ready for float->fixpoint updates.  This didn't work in all
places yet.  I've also replaced (char) with (uint8_t) where
it represents bits, because the code would not work on some
16-bit DSPs such as tic54x, tic55x, where a char is stored
in 16 bits.


I hope this is useful!


Cheers,

Rick van Rein
OpenFortress / 0cpm


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev


_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

<<attachment: bruce.vcf>>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to