[ogg-dev] OggYUV

Arc arc at Xiph.org
Mon Nov 7 23:30:08 PST 2005

On Mon, Nov 07, 2005 at 11:11:16PM -0800, Ralph Giles wrote:
> On Mon, Nov 07, 2005 at 10:22:50PM -0800, Arc wrote:
> > In response to (and with the help of) John Koleszar I put together an early 
> > draft of OggYUV.. or rather, a list of header fields for it.
> Why not just wrap yuv4mpeg, one frame per packet?

Honestly, that's what it'll probobally end up being functionally.  Practically, 
we need something a bit more flexible, as yuv4mpeg is 4:2:0 only, and we need a 
wider variety of colorspaces.

> It does suffer from not being clear on colourspace or sampling issues, 

It's not a lack of clarity, it's a lack of flexibility.  AFAIK, based on all 
I've read and seen in implementation, it's *ONLY* 4:2:0, and while you could use 
any colorspace theoretically, it makes sense to put this in the stream header.

I may be wrong, but even if it's more flexible than that, it certainly doesn't 
support the myriad of different formats we need, or will need in the future.

> but it is dead simple.

Well, it could be more simple.. ie, instead of using space-delimited ascii 
numbers, we'll use binary numbers which the Ogg bitpacker can easily extract.

Personally, I think that http://wiki.xiph.org/index.php/OggPCM#Format is pretty 
damned simple - several orders of magnitude more so than RIFF .wav files.  

I think that, giving OggYUV a similar format to OggPCM, a Python script using 
pyogg2 could be written to convert yuv4mpeg2 to OggYUV in under 100 lines.


The recognition of individual possibility,
 to allow each to be what she and he can be,
  rests inherently upon the availability of knowledge;
 The perpetuation of ignorance is the beginning of slavery.

from "Die Gedanken Sind Frei": Free Software and the Struggle for Free Thought
 by Eben Moglen, General council of the Free Software Foundation

More information about the ogg-dev mailing list