[speex-dev] SmartPhone ARM

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Thu Dec 18 19:24:52 PST 2003


Le jeu 18/12/2003 à 18:49, Greg Cockroft a écrit :
> I don't think a compiler is going to be enough.
> I tried perl scripting the output of a linux gcc cross-compiler to convert
> into something the assembler under eVC would consume.
> It errors on all the MAC type of instructions.  I looked at www.arm.com (I
> never knew there could be so many arms)
> It does not look like the ARM720 has the MAC instructions.  It also lists
> 75Mhz and 100Mhz as possible frequencies.
> (I'm still hoping for 100 :-)

I still it should be feasible. About the instruction set, there are a
couple things that could help:
- MAC instructions - did you check for both smlabb and smlawb.
- SIMD instructions - worth checking
- 16 bit x 32 bit multiplies (e.g. smulwb) could help because they can
replace 2 mul and 1 add.

Of course, hand-tuned assembly always helps. Perhaps the first step
would be to profile the code. I've tried that on an iPaq on
handhelds.org but never succeeded :(

> I have started to look at reducing complexity by removing all perceptual
> filters in the encoder.
> It sounds ugly but my fallback is GSM 610.
> 
> I'm open to any other ideas to cut CPU at the expense of quality.

While removing perceptual enhancement can help, there are probably a
couple things that can be done before that. There are algorithmic
changes that could make open_loop_nbest_pitch less computationally
intensive by calculating only every second delay and then only refining
when needed. Also, for modes like 8 kbps, it's probably possible to
decrease precision on some (all) filters without a significant
difference in quality. 

        Jean-Marc


-- 
Jean-Marc Valin, M.Sc.A., ing. jr.
LABORIUS (http://www.gel.usherb.ca/laborius)
Université de Sherbrooke, Québec, Canada


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: Ceci est une partie de message numériquement signée.
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20031218/c5d4cb91/signature-0001.pgp


More information about the Speex-dev mailing list