[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".

http://www.speex.org/docs/manual/speex-manual/node5.html

> 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.

Cheers,

	Jean-Marc


More information about the Speex-dev mailing list