[MPlayer-dev-eng] [PATCH] Latest CVS Theora update and about Tremor

Martin Drab drab at kepler.fjfi.cvut.cz
Sun Aug 17 12:08:06 CEST 2003

On Sun, 17 Aug -1, Arpi wrote:

> Hi,
> > as I said earlier, I took a closer look at the whole 
> > OGG/Theora/Vorbis/Tremor thing. What I saw was quite terrible. The 
> > external libraries are quite badly written themselfs. Nevertheless there 
> > seems to be interface of OGG/Vorbis, which can be used for Tremor as well 
> > with just minimal differences. However this interface is not used in 
> > MPlayer at all. Instead MPlayer uses some lower level interface to the 
> > libraries and those seem to have changed dramatically in the past.
> > Actually I am quite mazed that this ever worked. There seems to be no easy 
> > way to implement the new lower level Tremor interface in this. So I 
> > suggest it would be best to rewrite the whole thing to match the proper 
> > interface (it probably applies to Theora too and I think to whole OGG). I 
> Huh? I didn't notice that there are multiple interfaces. Except if you
> mean direct access to codec and access via libogg.
> I'm against doing codec related stuff via libogg, which is a demuxer thing,
> esp. that mplayer g2 doesnt have/need libogg at all.

Actually there are not multiple interfaces. There's only one, but somehow 
it doesn't seem to be used by MPlayer. I'm talking about the ov_*() funcs. 
They seem to be in both Vorbis and Tremor and correct me if I'm wrong, but 
I don't think it's the demuxer thing, neither is it from libogg. It 
resides in libvorbisfile (Vorbis) resp. libvorbisidec (Tremor).
Instead MPlayer is touching the internal structures of Vorbis directly 
and bypassing this API, though. These internals however differ 
dramatically between Vorbis and Tremor (at least in the latest CVS 
releases), which makes it very hard to combine it together (lots of 
#ifdefs, lots of code doubling with some differences, lots of different 
structures, ... and so on). Perhaps the reason may be in, that this 
interface might have been added lately after the MPlayer "driver" (or 
whatever you call it) for that was written. But that's just my guess. 
Otherwise I see no reason why it was not used. (Or maybe I'm totally off, 
even tat could happen. ;)


More information about the MPlayer-dev-eng mailing list