Ogg vorbis performance.
Flemming Richter Mikkelsen
quatrox at gmail.com
Tue Jul 15 15:37:09 CEST 2008
On 2008-07-13, Russell Sears <sears at cs.berkeley.edu> wrote:
> Sören Apel wrote:
> > Heya,
> > On Sat, 2008-07-12 at 14:27 -0700, Russell Sears wrote:
> > > I've noticed that my freerunner is *almost* fast enough to play my ogg
> vorbis files; running a second app, or even gpsd causes the media player to
> skip, then to go silent.
> > >
> > Yep.
> > > What's been done to get ogg vorbis to perform well so far? ogg123,
> oggdec seem to be able to decode in roughly 2/3's realtime, which is similar
> to the CPU usage of openmoko-mediaplayer.
> > >
> > If I remember correctly it was a problem with the sample rate/sample
> > format,
> > meaning that resampling had to take place - which eats CPU like candy.
> Ouch. What sample rate does the hardware provide, and does pulseaudio or
> gstreamer do the resampling? Also, decoding to /dev/null is slow... That
> shouldn't resample should it?
> I've noticed that things I've encoded more recently seem to be less likely
> to play (perhaps I changed an encoding setting at some point...), but that
> it varies from track to track... I'll time some files, and see if I can
> find a pattern.
> > > I noticed that gstreamer is using libvorbisi (tremor) since there is no
> floating point unit. It looks like there are three ways to make it go
> > >
> > > - Tremolo, which is ARM specific, and claims 15-20% better performance
> > > - _LOW_ACCURACY_ mode
> > > - The "low-mem" branch of tremor
> > >
> > > Which of these have been tried so far?
> > >
> > None, as I didn't find the time unfortunately. You're more than welcome to
> try these :)
I use my Freerunner as a mediaplayer. I installed mplayer and stored
my ogg vorbis files on the micro SD card. They are encoded with high,
but floating bitrate.
I got no problems when playing.
Also, please note that ogg vorbis is extremely flexible and you can
select any bitrate for playback without the need for reencode.
More information about the openmoko-devel