[Theora-dev] Re: [ogg-dev] OggYUV

Arc arc at Xiph.org
Tue Nov 8 04:42:32 PST 2005


On Tue, Nov 08, 2005 at 06:08:25PM +0800, illiminable wrote:
> Why not just make it OggRawFOURCC, do we really need one stream format for 
> rgb, and one for yuv ?
[snip]
> I just meant oggRaw, not fourcc.

Oh, thank god you corrected this. :-)  I was contemplating an "OggVid" format, 
and here is why I'm steering against it (though, yes, this has been a topic of 
discussion, and yes, it hasn't been decided on yet)..

> The fields are going to be the same for RGB, so why make it twice as much 
> work to implement.

Because the fields are /not/ going to be the same for RGB.

RGB has resolution, framerate, prehaps even interlace and aspect ratio...  

But chroma subsampling? no.  And this is where much of the complexity comes.

If we were to combine them, we would be, essentially, doing it something like 
this:
 Value Meaning
   0    RGB
   1    YUV444
   2    YUV422
   3    YUV420
   4    YUV411
   .....

And then spend an additional field on bits/channel, whereas both chroma channels 
in YUV is are going to have the same size.  Oh, please, let there not be an 
exception to this.

Now, keep in mind, that calling two codecs different is a conceptual one.

If the difference between OggYUV and OggRGB ends up being changing the three 
character identifier, eliminating chroma subsampling field, and adding an extra 
bits per channel field and prehaps some other RGB-centric things.

There are additional YUV-centric things which are not on the wiki now, as well, 
which Theora has fields to implement and other video codecs already are.

So, if you will, view the \x00YUV vs \x00RGB as a flag of roughly the same 
format, or at least, that's the strategy which I believe is better at the 
moment.  Is there anything in the software implementation of these which would 
complicate this further?

-- 

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