[maemo-developers] [maemo-developers] Ogg Vorbis and the N800

From: Simon Pickering S.G.Pickering at bath.ac.uk
Date: Wed Jan 31 01:56:19 EET 2007

> > Hi
> >
> > as far as I can tell the n800 with the OMAP2420 processor has a vfp 
> > (vector floating point unit; see [1] ) Based on this I wanted to find 
> > out if vorbis could take advantage of this unit by default.
> >
> > To make it short: Yes it works - BUT it is just painful!
> [...]
> > Conclusion:
> > It works but the cpu load is high. Vorbis decoding takes almost 80% 
> > cpu. I also tried MPlayer 1.0rc1-maemo.8 which has the integer based 
> > Tremor decoder codec [4] nicely integrated. Tremor needs around 12% 
> > cpu for the same ogg file. (That is an expected scale up from the 770 
> > experience - tremor takes around 20% cpu on the 770 - due to the 
> > faster cpu of the n800)
> >
> > It exceeds my skills to analyze this much further. However it seems 
> > that the vorbis decoder is not vfp optimized ;-) [yet?].
> Did you specify any compiler flags or just compile as-is?
> I'm not 100% sure but I've let myself belive (based on 
> comments on the IRC channel) that it won't compile with vfp 
> unless you specify "-mfpu=vfp -mfloat-abi=softfp" for the 
> compiler. Also based on the chatting on #maemo, 
> "-mcpu=arm1136j-s" might be worth it.

Just using the "-mfpu=vfp -mfloat-abi=softfp" flags (I couldn't remember the
exact -mcpu setting), produces a gstreamer vorbis plugin with a CPU load of
~30% playing the same file. So better, but still not too good. I wonder why
this is so slow compared with the integer version (does the integer version
produce worse sound?).

Files are here (including the ~12% load tremor gst plugin):

Put the libgst*.so files in /usr/lib/gstreamer-0.10/ and the others in
/usr/lib/, note that you may not need all of the files in the tarball as
some already exist, namely libao* and libgstvideo4linux.so. Make sure you
symlink the files from *.so.X.x -> *.so.X and again from *.so.X -> *.so



More information about the maemo-developers mailing list