[Ffmpeg-devel] Compilation with --enable-theora fails

Rich Felker dalias
Thu May 12 00:34:57 CEST 2005


On Wed, May 11, 2005 at 10:26:25PM +0200, Michael Niedermayer wrote:
> > We had a discussion on IRC last night 
> > about how to fix it (basically duplicating the vorbis header packing
> > used as a defacto standard in Matroska) which someone will probably
> > implement soon.
> 
> i agree, but not because the solution is good, just becasue it avoids the mess 
> of 2 different ways to store the headers
> 
> the packing used for the vorbis headers (as in libavformat/matroska.c) has 
> overhead of 
> O(n/255) 
> while get/put_v borrowed from nut.c would have 
> O(log2(n)/7)

When n < 510, ceil(n/255) <= ceil(log2(n)/7).
This is usually the case, except for idiotic bloated comment tags.

Anyway the size isn't the reason I want this... it's really irrelevant
since the header only appears once (or a few times in good formats
like nut :). The reason is like you say to begin with, it's stupid to
keep introducing more incompatible formats for no good reason.

I said this on irc and I'll repeat here:
The fundamental problem is that, while most codecs specify a way for
storing all their initialization information in one chunk of data, the
vorbis spec omits this and assumes init data will be stored in the
same packetized form as data frames, using the ogg container. IMO this
is a deficiency in the spec, and we should try to agree upon a common,
acceptable standard for the extradata format with the hopes that Xiph
will officially adopt it and prevent future incompatibilities. As much
as I'm pissed about their past disregard for non-ogg containers and
proper codec/container split, the Xiph people I've talked to have not
been stupid and have mostly been reasonable about these things. So I
hope we can end up working together on the parts we agree on, which is
that Vorbis is a very good audio codec and should be more widely
used....

Rich





More information about the ffmpeg-devel mailing list