[theora-dev] Theora running on ARM device without floating point support

Hamilton Vera hamilton.listas at gmail.com
Tue Jun 23 12:10:07 PDT 2009


Hi masters, I am trying to deploy theora in Fressacle iMX27 (ARM-9) processor.
This hardware does not support floating point operations, i've
compiled the libtheora with  --disable-float option .

mx27# cat /proc/cpuinfo
Processor       : ARM926EJ-S rev 4 (v5l)
BogoMIPS        : 199.06
Features        : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 4
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 16384
I assoc         : 4
I line length   : 32
I sets          : 128
D size          : 16384
D assoc         : 4
D line length   : 32
D sets          : 128

Hardware        : Freescale i.MX27ADS
Revision        : 27021
Serial          : 0000000000000000


In this example I will convert a yuv file with 150 frames (320x240 ~
17280000 bytes )   to an ogg file


mx27# time ./yuv2theora
File size = 17280000
This video has 150 frames!

real    1m1.641s
user    1m0.800s
sys     0m0.390s

Unfortunately the performance is not that good.

As a result I've converted a ~17MB yuv file to an 473KB ogg file in 61
seconds using 99% of CPU.


Any way to improve this?


The source code used in this test is available at :

http://www.imxdev.org/wiki/images/c/cd/Yuv2theora.gz

Thanks in advance

--
Hamilton Vera
int Administrator (char Network[],char ComputationalSystems[])
http://hvera.wordpress.com


More information about the theora-dev mailing list