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

Måns Rullgård mru
Wed May 11 21:31:40 CEST 2005


Rich Felker <dalias at aerifal.cx> writes:

> On Wed, May 11, 2005 at 06:48:13PM +0200, M?ns Rullg?rd wrote:
>> castet.matthieu at free.fr writes:
>> 
>> > Hi,
>> >
>> > Selon Keenan Pepper <keenanpepper at gmail.com>:
>> >
>> >> Viktor Kompaneyets wrote:
>> >> > Is there missing files?
>> >> > I'd used latest CVS version, but makefile kan't find oggtheora.c in
>> >> libavcodec
>> >>
>> >> I think oggtheora.c is missing simply because nobody's written
>> >> it yet. I can write it when I have some spare time - it should
>> >> just be some glue code to interface to libtheora, and also some
>> >> changes to the ogg demuxer (currently it only recognizes one
>> >> vorbis stream). For now you'll just have to omit --enable-theora
>> >> (no idea why the option has been there so long with no actual
>> >> code).
>> >
>> > No it is already written (search the mailling list), but actually
>> > the ogg demuxer don't support theora.  They were patch for the
>> > libogg demuxer but they were rejected. Now we have ogg2 demuxer,
>> > there were a patch that enable theora support, but it wasn't
>> > applied, and now it don't work anymore with timestamp recent
>> > change...
>> >
>> > There is also a theora native decoder, and it seem it don't work.
>> >
>> > Well the ogg/theora part seem unmaintained...
>> 
>> Now the ogg demuxer supports theora, and there is a libtheora wrapper
>> in libavcodec.  Seems to work here, please report anomalies elsewhere.
>
> How is it passing the header packets to the theora decoder? This MUST
> be done via extradata, not as fake non-frame codec packets (which is
> the way it's actually stored in the ogg file).

Of course I'm using extradata.

> See how it's done in ogg2's vorbis demuxing for an example,

I'm pretty familiar with that one, since I was the one who wrote it.

> although that's currently buggy

If it works, it's not buggy.  That doesn't mean it's impossible that
it could be done in a better way.

> (using int16 is stupid/limited).

Can the header packets ever be more than 64k?  I did it that way,
since that's what the libvorbis wrapper expects.  I'm not the one who
wrote that one.

> 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.

Since when are you advocating matroska?  And before I'd consider
anything related to matroska a de facto standard, I'd want to see at
least a few percent of the files in the wild to be in matroska format.
So far, I have come across two (2) matroska files, not counting sample
files.

-- 
M?ns Rullg?rd
mru at inprovide.com





More information about the ffmpeg-devel mailing list