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!
What I did:
1) Set up scratchbox for bora --> excellent install script! Thanks! :-)
2) downloaded the sources for libao, libogg, libvorbis from [2]
3) downloaded gst-plugins-base-0-10.9 from [3]
4) compiled on SDK_ARMEL target
5) copied the libs to the n800
6) called gst-inspect:
------------snip-------------
Nokia-N800-51:~# gst-inspect vorbis
Plugin Details:
Name: vorbis
Description: Vorbis plugin library
Filename: /usr/lib/gstreamer-0.10/libgstvorbis.so
Version: 0.10.9
License: LGPL
Source module: gst-plugins-base
Binary package: GStreamer Base Plug-ins source release
Origin URL: Unknown package origin
vorbisparse: VorbisParse
vorbisdec: Vorbis audio decoder
vorbisenc: Vorbis audio encoder
3 features:
+-- 3 elements
Nokia-N800-51:~# gst-inspect ogg
Plugin Details:
Name: ogg
Description: ogg stream manipulation (info about ogg:
http://xiph.org)
Filename: /usr/lib/gstreamer-0.10/libgstogg.so
Version: 0.10.9
License: LGPL
Source module: gst-plugins-base
Binary package: GStreamer Base Plug-ins source release
Origin URL: Unknown package origin
oggparse: Ogg parser
ogmtextparse: OGM text stream parser
ogmvideoparse: OGM video stream parser
ogmaudioparse: OGM audio stream parser
oggmux: Ogg muxer
oggdemux: Ogg demuxer
6 features:
+-- 6 elements
------------snap-------------
7) ran gst-launch-0.10 filesrc location=opensource.ogg ! oggdemux !
vorbisdec ! audioconvert ! dsppcmsink
8) listen to ogg vorbis :-)
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?].
Hm, and now?
Maybe someone who is more skilled than me could verify my results.
It all boils down to the dsp! The dsp on the 770 and the n800 is the same. So,
a once implemented plugin could support both platforms (770 and n800).
--> We need a dsp based vorbis decoder!
[I know: demanding is easy - implementing rather not ;-) ]
As we wait for Nokia to release more codecs we can try to use the Tremor based
plugins for the audioplayer [5] (great work!).
Any feedback is wellcome.
Regards Krischan
[1] http://en.wikipedia.org/wiki/ARM_architecture#VFP
[2] http://svn.xiph.org/trunk/
[3] http://gstreamer.freedesktop.org/src/
[4] http://svn.xiph.org/trunk/Tremor/
[5] https://garage.maemo.org/projects/mogg/
--
Krischan Keitsch
jabber: [EMAIL PROTECTED]
pgp4NFj7Nf6kr.pgp
Description: PGP signature
_______________________________________________ maemo-developers mailing list [email protected] https://maemo.org/mailman/listinfo/maemo-developers
