Rockbox mail archiveSubject: Opus codec developments
Opus codec developments
From: Bertrik Sikken <bertrik_at_sikken.nl>
Date: Thu, 26 Jul 2012 14:08:29 +0200
Me (bertrik) and freqmod (Frederik M.J. Vestre) have been working on porting
a new codec to rockbox, the opus codec, see also http://www.opus-codec.org/
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.
Received on 2012-07-26