[speex-dev] XScale realtime encoding possible?

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Fri Nov 7 08:44:28 PST 2003

> I got the usage of --abr wrong before, (28 = 28 bits per second :)
> I'm also assuming quality=0/comp=0 produces a reasonable output.

Actually, --abr overrides --quality. Otherwise, --quality 0 would be bad

> 3 mins, 39 seconds is still a way off realtime, for a 60 second clip, 
> but it's a lot closer than 1.1.1 got.
> What still worries me though, is that even if I forget the 2 mins spent 
> in the kernel, emulating the floating point, there's 1 min 29 secs of 
> userspace time, which is still greater than 60 secs clip.  Are compiler 
> optimisations going to shave off those 29 (or more) secs?

Well, once the kernel time is removed, we're only slightly too slow.
Then I'm sure there are many possible optimizations. For example, it
wouldn't be that hard to convert the code to using the multiply-add
functions provided by the chip. Also, the code is made to only use
16-bit multiplication, so all 32 bit times 16 bit multiplications are
"emulated" (using two 16 bit mult. and one add). This could be changed
to make use of the wider multiplier.

At this point, if you want to help, the best way would probably to try
tracking done what part of the code is responsible for the high system.
Once this is identified, we'll have a much better idea.

> I will of course try without ffast-math and funroll-loops, as they can 
> decrease speed in some circumstances, but i'm open for further suggestions.

I don't think it's worth playing with the compile switches yet. Still
lots of other stuff to do. 

> The machine it's running on has an XScale-PXA255 processor at 400MHz, 
> with a 200MHz bus.

I managed to log on the XSCALE 400 on handhelds.org. It helped, but I
can't do everything with it (and by attempts at profiling failed).


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/20031107/1a0b9a3c/signature.pgp

More information about the Speex-dev mailing list