[Tremor] Fw: Re: Merge of Vorbis v1.2.3 code to Tremor

David Milici davemilici at sbcglobal.net
Mon Apr 5 15:32:16 PDT 2010


I am only aware of one tremor URL at:

    http://svn.xiph.org/trunk/Tremor

At the time last year, it didn't look like Tremor had changed much since 2007, solely supporting Vorbis-only Ogg streams. The only motivation for trying to merge Vorbis v1.2.x code was to be able to support decoding audio from Ogg Theora interleaved streams.

Also, since the Ogg files included with Tremor had slightly different APIs, I figured they were outdated from some early pre-release, and in need to be updated to be in sync with libogg.

Profiling of decode times in the merged version was generally faster than Tremor 2007. Tremor is faster anyway than Vorbis on FPU-less ARM9.

However if there is an official Tremor branch supporting interleaved Ogg streams now, that would be worth using intact instead of a patched version. 
  
--DaveM

--- On Mon, 4/5/10, xiphmont at xiph.org <xiphmont at xiph.org> wrote:

> From: xiphmont at xiph.org <xiphmont at xiph.org>
> Subject: Re: [Tremor] Fw: Re: Merge of Vorbis v1.2.3 code to Tremor
> To: "David Milici" <davemilici at sbcglobal.net>
> Cc: tremor at xiph.org
> Date: Monday, April 5, 2010, 1:42 PM
> Hello David,
> 
> The functionality you implemented has already been added to
> all three
> Tremor branches for a little less than a year.  It was
> added last
> June/July.
> 
> > I just tried testing the patch at home, and realized
> that the tremor source reference is based on last July's
> subversion snapshot.
> 
> Ah.
> 
> > One of the ideas was to use current Ogg libs
> externally, so Ogg is built separately into rootfs path
> pointed to by $ROOTFS_PATH. The patched libvorbisidec.so
> expects to link to libogg.so there.
> 
> Tremor does not use a stock libogg for several reasons; the
> libogg in
> Tremor is non-compatible with libogg) and is tuned for
> ultra-low
> overhead buffering and zero-copy operation.  Stripping
> that out and
> going to using an external libogg, even if done properly,
> will
> increase both the cpu and memory overhead.  The
> biggest caution is
> that although many of the calls have similar names in the
> two
> versions, the memory handling protocol is quite
> different.  For
> example, Tremor can be implemented without malloc() at all,
> but this
> would not be possible with an external libogg.
> 
> Monty
> 


More information about the Tremor mailing list