[Speex-dev] new assembler port

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Tue May 16 08:18:46 PDT 2006

> I suggest that you start by looking at 8kbps, complexity 0.

Actually, I strongly recommand *against* using complexity 0, unless you're
really desperate for a few MIPS. The complexity reduction compared to 1 is
small, but the loss in quality can be significant.

> I (and others)
> are running that on a TI C55xx DSP, and it runs a little under 30 MIPs when
> I last checked, with no assembly optimizations.  I have not tried to profile
> other rates, but I did run a test at 15kbps, complexity 3, and that was 66
> MIPs.

That's from 1.1.12 or svn?

> People ask about guidelines for assembly optimization, and if you do some
> searching, you will find some tips from Jean-Marc on where to start.  Also,
> if you look in the source tree for references to Blackfin or bfin, you will
> find an example port done by Jean-Marc.

Yes, have a look at the _bfin.h, _sse.h and _arm.h files to get an idea of
what's useful. Also, note that most calls to *_mem2() functions have been (and
are being) converted to the _mem16() version.

> You should make sure that you run the latest code from Subversion, which has
> some speed improvements from 1.1.12.

Yes. I'm making big improvements for embedded systems, the last one being 5
minutes ago.


More information about the Speex-dev mailing list