[Scummvm-devel] Ogg (Tremor) on low-end devices

Max Horn max at quendi.de
Tue Jun 26 21:26:41 CEST 2007


Hi folks,

I noticed some discussion about Ogg Vorbis / Tremor, and speed-ups for it
(in the form of Tremolo, and the low-mem resp. low-quality variants of
stock tremor). Considering that apparently the overhead caused by sound
decompression (be it MP3 or Ogg Vorbis) is a major problem for some of our
smaller ports, it might be worth looking closer into this.

However, there is only that far how you can optimize the tremor reference
implementation, even if you code everything in asm. As usual in computer
science, for the real speedups, you need to revise the algorithms. There
are people who did work in this area. Instead of trying to summarize it,
let me just give you some links for reading, food for your thoughts (there
are plenty more out there, Google is your friend):

Very interesting overview article with interesting links (not sure how
up-to-date those patches are, resp. whether they already have been
integrated/superseded by current Tremor):
  http://witopia.blogspot.com/2007/02/tremor-guide.html

The thesis of Johannes Sandvall and Erik Montnemery (also mentioned in the
first link), plus some criticism of it (read the full thread). I am not
quite sure how this relates to the low-mem branch resp. the
  http://www.es.lth.se/home/tlt/teaching.html
  http://lists.xiph.org/pipermail/tremor/2004-March/000445.html

The improved tremor version of RockBox can be found here (it might be a
good idea to look a this and see what they changed, resp. talk to the
rockbox guys, via mail or via IRC in #rockbox):
  http://svn.rockbox.org/viewvc.cgi/trunk/apps/codecs/Tremor/

MIPS optimizations (maybe interesting for the PSP port which uses a MIPS
R4000 processor).
http://lists.xiph.org/pipermail/tremor/2004-February/000928.html


As an addition reason why better/faster Ogg Vorbis support would be
interesting, let me point out that as part of the Google Summer of Code,
we have a student working on a GUI for the ScummVM tools. This should
ideally one day make it possible to compress game data files "with a
single click". It will use libogg/libvorbis -- but due to licensing issues
with MP3, we can't ship a binary with MP3 encoding support integrated.
Hence we will kinda make Ogg Vorbis the "obvious" choice in future version
of the ScummVM tools, which makes it even more interesting to have good
Ogg Vorbis support on *all* targets...


Cheers,
Max




More information about the Scummvm-devel mailing list