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

John Koleszar jkoleszar at on2.com
Tue Nov 8 09:36:44 PST 2005

Arc wrote:

>We will only be doing [A]YUV ordered planar encoding, no other order, not 
>packed using one of several methods.  You're right, there's simply too many 
>different possibilities, and the software implementation is too complex.

>This is primarily an interchange format, something that the Theora codec can 
>output for the media player to receive, or the webcam can send to Theora to 
>encode, or raw video to be stored in such that it can be encoded to a new codec 
>in testing while reliably keeping a/v sync.
If you want cameras to source this format someday, it'd be wise to 
support the packed formats. A lot of cameras, DV in particular, use YUY2.

>Media players don't have to support every format, nor does any video codec.  If 
>a video codec (ie, DV) can only output 4:1:1 and the media player only takes 
>4:4:4 then an intermediary plugin will be needed to do the convertion.
Agreed.. But the problem becomes how to send data to the color 
conversion plugin. If you don't specify a way to put other formats into 
this stream, your plugin has to do the work of extracting the data from 
the original stream and performing a color conversion. All stream 
extraction plugins would have to support converting the source material. 
I think the design is cleaner if you have a stream extraction plugin 
just extract the data from whatever the source is 
(decodec/http/whatever) and put it into an ogg stream, then you let your 
plugin negotiation find the "one true xxx->theora/yv12" converter. 
Greatly simplifies writing extraction plugins if you don't have to 
understand anything beyond bytes and buffers.

>So what I propose for OggYUV is to cover the capabilities of Ogg video codecs, 
>everything Theora is capable of and prehaps a bit more that we've seen from 
>other codecs.  4:4:4, as I recall, is supported by the Theora spec (even if the 
>current implementation doesn't).  
I can't speak for what Theora can support today, but the VP3 source it 
derived from supported UYVY, YVYU, YUY2, and RGB24/32 source data as well.

More information about the ogg-dev mailing list