[theora-dev] YUV Format

illiminable ogg at illiminable.com
Thu Apr 1 06:05:56 PST 2004



Thankyou very much for your help.

I think i've sorted it out now !

Zen.

----- Original Message -----
From: "Timothy B. Terriberry" <tterribe at vt.edu>
To: <theora-dev at xiph.org>
Sent: Thursday, April 01, 2004 9:00 PM
Subject: Re: [theora-dev] YUV Format

<p>> > Heres the list i haev to work from... could someone tell me which of
> > these it is ?
>
> I have no idea if Microsoft has a specific code for it. The data is
> stored in a planar fashion. Video is stored in an 8-bit per channel
> Y'CbCr space. See doc/color.html for a precise specification of the
> color space used. The current library only uses 4:2:0 decimation
> (decimation of the chroma planes by 2 in both the horizontal and
> vertical direction). Each component, Y', Cb, and Cr, are in separate
> buffers, as suggested by the three separate pointers to them in struct
> yuv_buffer.
>
> The horizontal stride in each buffer is always 1. So the contents of a
> single row are always contiguous in memory. The vertical stride in each
> buffer is NOT the width. So separate rows are NOT contiguous in memory.
> The y_stride and uv_stride variables tell you what to add to your
> pointer to get to the next row. The fact that there is only one value
> for the Cb and Cr planes indicates that each separate Cb and Cr buffer
> uses the same memory organization, NOT that they are stored in the same
> buffer. You will note that this value is negative in the buffers
> returned by the current library, indicating that each row after the top
> row actually comes BEFORE the top row in memory. There is no guarantee
> that libtheora will always do this.
>
> Note also that libtheora may overwrite the contents of the buffer the
> next time you decode a frame. If either DirectShow does not have a way
> of describing the buffer layout given above or you need to keep data
> around for longer than a single frame decode cycle, you will need to
> copy the contents of the buffer somewhere else. You can then use
> whatever memory organization suits your fancy.
> --- >8 ----
> List archives:  http://www.xiph.org/archives/
> Ogg project homepage: http://www.xiph.org/ogg/
> To unsubscribe from this list, send a message to
'theora-dev-request at xiph.org'
> containing only the word 'unsubscribe' in the body.  No subject is needed.
> Unsubscribe messages sent to the list will be ignored/filtered.
>
>
>

<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Theora-dev mailing list