[ogg-dev] Re: [Vorbis-dev] "Any who has ever written an Ogg (de)muxer curses it's name frequently" (sic)

Michael Smith msmith at xiph.org
Wed Feb 28 11:56:50 PST 2007


On 2/28/07, Ivo Emanuel Gonçalves <justivo at gmail.com> wrote:
> >From some random dude on Slashdot
> [ http://yro.slashdot.org/comments.pl?sid=224420&cid=18177356 ]:
>
> "Second, whether AVI is better or worse than Ogg is debatable. Any who
> has ever written an Ogg (de)muxer curses it's name frequently. It's
> extremely codec-specific, and the format is rather loosely defined,
> with no consistent standard way to do much of anything....
>
> AVI has it's limitations, but they are few. Most of the problems
> people experience with AVI is due entirely to limited software which
> doesn't properly handle AVIs. The rest of the problems tend to be a
> result of lack of standards... For instance, Vorbis can fit into AVI
> just fine, but unfortunately, Xiph didn't define HOW exactly, so
> everyone has started doing it in their own, mutually incompatible way.
> Ditto for subtitles, and other meta-data.
>
> So, the biggest problem with AVI is lack of any single official
> standards authority. Ogg has the same problem, but worse, since Xiph
> have ignored all efforts to extend Ogg to handle other formats, and
> now nothing is compatible."

I'm not going to defend Ogg here - writing Ogg code turns out to be
very difficult, as it works fundamentally differently from essentially
every other container format in widespread use, and requires a much
tighter coupling between codec and container.

But to suggest AVI is just unreasonable - AVI is more or less
obsolete, and for good reasons. It's extremely limited, and works
poorly for a wide range of purposes. Existing implementations also
tend to be poor. For the simple "I have a single audio and a single
video track in a file on my hard disk", it works reasonably well, but
that's about all. Even microsoft stopped using it (they've moved to
ASF, which isn't widely used outside of the windows media formats, but
is certainly more capable than AVI).

>
> I'm bringing up this message for discussion.
>
> "For instance, Vorbis can fit into AVI just fine, but unfortunately,
> Xiph didn't define HOW exactly, so everyone has started doing it in
> their own, mutually incompatible way."

I have been told by people much more familiar with the details of AVI
that this is simply not true (there are some horrendous hacks
possible, but these don't allow you to put vorbis into AVI, they allow
some subset of vorbis. I think I've also seen _ogg vorbis_ embedded in
AVI).

I believe the  primary issue is that AVI permits any of:
 - constant duration, constant packet size
 - constant duration, variable packet size
 - variable duration, constant packet size
but not variable duration, variable packet size - a core requirement
of vorbis. I may be wrong in some details there, but it amounts
roughly to that.

We're not opposed, in principle, to standardising an embedding of
vorbis into _other_ more capable container formats. But the core
developers don't really use those very much - after all, they're most
commonly seen in use for using non-free video codecs with vorbis, so
we'd need a proposal from the community - brought to us, for reasoned
debate and discussion. Nobody's done that.

Mike


More information about the ogg-dev mailing list