Speex hardware: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→ARM: Added info about our experiments on Cirrus ARM EDB9315A) |
||
Line 19: | Line 19: | ||
* Port with gcc inline assembly. | * 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 | |||
<pre> | |||
# 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 | |||
</pre> | |||
{| border="1" | |||
|+ 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 = | = Blackfin = |
Revision as of 04:11, 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)
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
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
- Here's a list of all Nokia phones / CPU - http://www.nokia-tuning.net/index.php?s=processor
- Here's a list of all S60 phone models - http://www.s60.com/life/s60phones/browseDevices.do
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
- 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
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