dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Opus codec developments

Opus codec developments

From: Bertrik Sikken <>
Date: Thu, 26 Jul 2012 14:08:29 +0200

Hi all,

Me (bertrik) and freqmod (Frederik M.J. Vestre) have been working on porting
a new codec to rockbox, the opus codec, see also
This codec is backed by an IETF draft and I consider it as the next
evolution beyond vorbis and speex, with specific support for both music and
speech. It is wrapped in an ogg container, like vorbis and speex.

The current development of the port can be found at:
freqmod also has a github repo (currently a few days older) at:

Stuff that works:
* Playback on both the simulator and on target
  (tested on the Sandisk Sansa Clip Zip + simulator)
* Reading metadata (opus metadata is very similar to vorbis metadata)
* UI shows playback progress in the progress bar

Stuff that still needs work:
* Memory allocation in the codec main is not fully consistent yet (probably
  leaking some memory), so playing several files in sequence may not work
* Stack usage is still quite high, I've seen about 10k for music and 36k
  for speech on the clip zip, our stacks are currently 10kB by default.
* Applying global gain from the opus audio file is not implemented
  (not sure if replaygain is working)
* Seeking is not implemented yet. We have several codecs now using the ogg
  container, I think it should be possible to share more ogg-stuff between
  these codecs, like seeking.
* I used the latest release of libogg (1.3), it is a bit wasteful because
  it does a lot of memcpy'ing when processing a stream, also it performs
  CRC checks on the data. Apparently there is a libogg2, which avoids at
  least the memcpy.
* There are still some warnings emitted from the compiler.

Please try it out and help enhancing it further.

Kind regards,
Bertrik Sikken
Received on 2012-07-26

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy