[Speex-dev] Speex split across processors?

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Mon Apr 4 18:28:27 PDT 2005


Hi,

First, depending on how much your particular core gets done in one
cycle, it is possible that Speex can encode in real-time on a 60 MHz
(can't guaranty, of course). The main thing to watch here is the speed
of the multiplier. As for parallel encoding, the first thing is that you
can't just encode every other frame on each CPU. That's because of the
encoder memory. Also, most of the process is sequential. There are a few
places where you could do stuff in parallel (for the same frame), but
not that much. It would probably allow you to at least to real-time on a
pair of 60 MHz (if it can't be done on only one) assuming decent
communication between the two, but probably not much more. It would also
require a lot of tweaking in the code, so I don't think it's worth it
(versus just getting a slightly faster chip).

	Jean-Marc

Le lundi 04 avril 2005 à 08:44 -0700, Paul Fagerburg a écrit :
> I am interested in using Speex in an embedded system built around an
> ARM microcontroller.  I have seen other posts indicating that Speex
> can run in real-time on some iPAQ PDA's, but these are using a
> StrongARM 166MHz processor.  I'm looking more at the chips from Atmel
> (SAM7), Philips (LPC2xxx), and TI (TMS 470), which are ARM7TDMI with
> on-chip SRAM and flash, running at speeds of 33 to 60MHz.
> 
> 166 down to 60 is a big drop, but I'm hoping to gain performance due
> to lack of wait states (no external memory), and the lack of any O/S
> running to eat cycles; the chip will only be encoding Speex.
> 
> Still, it may not be enough.  Is it possible to parallelize the
> encoding, i.e. have two micros, each encoding every other frame?  As
> long as each micro could encode in 2x real-time or faster, the net
> result would be a real-time encoding.
> 
> I appreciate any help this group can provide.
> 
> Thanks,
> 
> -paul
> 
> 
-- 
Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke



More information about the Speex-dev mailing list