Hamilton Vera
2009-Jun-23 19:10 UTC
[theora-dev] Theora running on ARM device without floating point support
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