Ogg encapsulation
Ralph Giles <giles-zeIfkxP3e/[email protected]> Wed, 31 Mar 2004 18:33:43 -0800
| Newsgroups | gmane.comp.graphics.mng.general |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone, We'll soon be finalizing the spec for encapsulation of MNG files in an Ogg bitstream. If you're not familiar, Ogg is a stream oriented multimedia container that supports multiplexing of different time-linear data streams with error detection and seeking signposts. It's most famous at this point as the native format of the Vorbis audio codec. You can read more about it on the official website [1] or in rfc 3533 [2]. This is an obvious way to add an audio soundtrack to a MNG animation, by multiplexing it with Vorbis audio (or another format). We also plan to use MNG for graphic overlays with our Theora video codec, à la DVD subtitles. I'd like to solicit review and opinions, basically, about what we're trying to do, since I've been developing this mostly single-handedly. The design so far is outlined in http://wiki.xiph.org/OggMNG In particular, I've been rethinking an earlier decision about including the chunk length and checksum fields. These are redundant in an Ogg encapsulation, but libmng expects these fields to be filled in. If the bitstream omits them, it's not difficult to re-generate and feed them piecemeal to the decoder using the high-level buffer copy interface. However, this means the Ogg decoder must re-compute the chunk's checksum just so the MNG decoder can compute it again and compare. Both computations are unnecessary because the container does its own checksum and will have already reported any corruption. That's twice over data we shouldn't have to touch at all. Is there any plumbing in libmng that could be exposed to let us hand in chunks with the header already parsed? Limitations of libmng's api design are a poor decision criteria for our spec, but the overhead of the two fields is so small it's almost an aesthetic decision. I'd like not to include them, but practical simplicity has weight too and I've argued myself to an impasse. :-) Opinions welcome, -r [1] http://xiph.org/ogg/doc/ [2] http://www.ietf.org/rfc/rfc3533.txt -- Send the message body "help" to [email protected]