Speex hardware: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 102: Line 102:


* Here's a list of all S60 phone models - http://www.s60.com/life/s60phones/browseDevices.do
* Here's a list of all S60 phone models - http://www.s60.com/life/s60phones/browseDevices.do
* Here's a freeware cpu monitor for Symbian - http://www.symbian-freeware.com/download-cpumonitor-v1-10.html


= Windows Mobile Phones =
= Windows Mobile Phones =
Line 109: Line 108:


* Here's a list of all HTC Windows Mobile and Pocket PC devices with CPU speed - http://en.wikipedia.org/wiki/High_Tech_Computer_Corporation
* Here's a list of all HTC Windows Mobile and Pocket PC devices with CPU speed - http://en.wikipedia.org/wiki/High_Tech_Computer_Corporation
= CPU monitoring software =
* Microsoft Windows Mobile CPU monitoring software - http://msdn.microsoft.com/en-us/library/aa934745.aspx
* Freeware Windows MObile CPU monitoring software - http://www.mobiletopsoft.com/software-tools/getproduct.php?pname=RhinoStats+CPU+Monitor+1.2
* Here's a freeware cpu monitor for Symbian - http://www.symbian-freeware.com/download-cpumonitor-v1-10.html


= Links collection of past experience =
= Links collection of past experience =

Revision as of 06:56, 23 May 2008

Please list any experience/knowledge you've had with Speex on the following hardware, including model, minimum speed required for real-time or other observations. When providing benchmarks, please specify:

  • CPU speed
  • Speex version
  • Sampling rate (narrowband vs wideband)
  • Bit-rate
  • Complexity setting
  • Any other option that isn't the default
  • Compiler (and version)

See also supported CPU and optimization flags here - http://www.speex.org/docs/manual/speex-manual/node5.html


x86

  • SSE optimisations (intrinsics)

Power

  • No Altivec support yet

ARM

  • Port with gcc inline assembly.

Performance results for Cirrus Logic EDB9315A @ 200MHz

Tests were run with following configuration:

  • Speex svn rev.13928
  • fixed point (though this CPU have hardware floating-point, we were interested in fixed point operation at that moment).
  • Narrow-Band
  • complexity set either to defailt or to minimum value, I do not recall exactly now :( But I think results will not differ considerably.
  • no DTX
  • no preprocessing, just bare encoding/decoding
# cat /proc/cpuinfo
Processor       : ARM920Tid(wb) rev 0 (v4l)
BogoMIPS        : 192.92
Features        : swp half thumb
CPU implementer : 0x41
CPU architecture: 4T
CPU variant     : 0x1
CPU part        : 0x920
CPU revision    : 0
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format A
Cache format    : Harvard
I size          : 16384
I assoc         : 64
I line length   : 32
I sets          : 8
D size          : 16384
D assoc         : 64
D line length   : 32
D sets          : 8

Hardware        : Cirrus Logic edb9315a
Revision        : 0000
Serial          : 0000000000000000
Speex NB performance on Cirrus EDB9315A @ 200MHz
mode=2 mode=3 mode=4 mode=5 mode=6 mode=7 mode=8
encoding 3.7ms 3.3ms 4.5ms 3.7ms 5.8ms 4.7ms 3.2ms
decoding 0.45ms 0.5ms 0.5ms 0.5ms 0.5ms 0.55ms 0.45ms

Please, note, that these values may be inaccurate and may be different in your system. E.g. different version of gcc produce different results. These values should rather give you rough idea on how Speex performance looks like.

Blackfin

  • Port with gcc inline assembly.

TI C5x

  • Known to run

TI C6x

  • Known to run

Coldfire

  • Used by Rockbox

Trimedia

  • Someone did some optimisations for that but it never got fully merged.

Symbian phones model

  • In order to make life easier for developer, let's also publish on which Symbian based phones speex works

Windows Mobile Phones

  • In order to make life easier for developer, let's also publish on which Pocket PC / Windows Mobile based phones speex works

CPU monitoring software

Links collection of past experience

  • In order to make such hardware support task more easier in the beginning let's collect all the links to experience on running speex on specific phones model