[Speex-dev] Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Fri May 23 00:56:20 PDT 2008

Fabio Pietrosanti (naif) wrote:
> i am not criticizing the technology itself, but the fact that from the 
> point of view of the implementator that need to make a technological 
> choice while selecting a codec to be used for a mobile multimedia 
> application, speex does not provide affordable informations on 
> "supported platform".


> Without arranging a test bed with a lot of devices and spending a lot of 
> money i would not be able to know:
> If i get on www.s60.com the list of Symbian 9 S60 3rd edition devices, 
> which have enough powerful cpu to do realtime encoding/decoding?
> If i go on www.htc.com and get the list of their Windows Mobile based 
> devices, which have enough powerful cpu do do realtime encoding/decoding?

So there's a website that tell you whether each "mobile CPU" will be
able to encode AMR-NB, AMR-WB, G.72x, ...?

But mostly what I fails to understand is why you want to know about all
these devices simultaneously. I mean, usually people ask either "will
Speex run on my CPU X running at Y MHz?" or "what's the minimum speed to
get Speex on CPU X?". Considering that the requirements for Speex vary a
*lot* depending on what you're doing (narrowband vs wideband, bit-rate),
there's just no way to provide the entire data for all combinations.

> I know that speex can compile on Symbian and Windows Mobile but i am not 
> able to know on which "hardware platform" (running the 85% of mobile 
> device operating systems) it will work.
> At the end of this most application developer for Symbian will choose to 
> use AMR because they are sure that "it work".
> The only method i have to make such decision would be to spend a lot of 
> money in order to test it on several cpu/hardware platform.

I thought you were complaining about the cost of AMR licenses...

> While choosing the technology i am not able to take the "risk" of 
> selecting a technology that "run on symbian" but "run on ??? number of 
> device" and "run on Windows mobile" but "run on ??? number of device" .

What number do you want??

> That's my main concern while selecting speex and i think that the 
> community itself should make some effort (organized) in order to gather 
> data and test cases (in a distributed way) about "on which platform 
> speex run".

You're willing to contribute to the effort?

> Still, i am not able to answer my question and i am not sure whether 
> it's best to pay AMR royalties or invest and risk on free speex codec.

And what is your exact question in the first place? Having a precise
question will certainly reduce the cost of fining an answer.

> I would suggest to :
> - create sample application doing benchmarking for
>   - playing speex
>   - recording speex
>   - recording/playing simultaneously
>   by using different complexity parameters.

the testenc application mostly does that, so do speexenc/speexdec

> - release binaries of the sample applications for Windows Mobile and 
> Symbian OS
>   - compiled with GCC
>     - for different cpu type
>   - compiled with RVCT
>     - for different cpu type

How will binaries help you? I don't have access to most platforms Speex
runs on and even if I did, some have dozens of incompatible ways you can
compile software on them. I've posted some binaries generated by others
before, but that's the best I can do.

> Then startup a community oriented project where people are able to 
> contribute by "uploading" log files of the benchmarking application.
> We can leaverage community oriented website of Symbian development and 
> Windows development in order to have a lot of people testing the sample 
> application on different devices and uploading their log files.

Just created a wiki page: http://wiki.xiph.org/index.php/Speex_hardware
That's probably the best place to centralise knowledge of Speex running
on all kinds of hardware. If anyone does benchmarking on any CPU, please
put results there.



More information about the Speex-dev mailing list