[gst-devel] Video 3D support

Martin Bisson martin.bisson at gmail.com
Wed May 26 02:39:23 CEST 2010


Stefan Kost wrote:
> On 24.05.2010 01:52, Martin Bisson wrote:
>   
>> David Schleef wrote:
>>   
>>     
>>> I recommend using a new caps type, perhaps video/x-raw-yuv-stereo
>>> or some such, instead of using video/x-raw-yuv,stereo=true.  Using
>>> video/x-raw-yuv leads to endless compatibility problems: elements
>>> that currently handle video/x-raw-yuv would silently do the wrong
>>> thing with stereo video.  Using x-raw-yuv would mean width/height
>>> in the caps would be double the *actual* width/height of the mono
>>> video, which is hacky.  Also, converting from stereo to mono in
>>> many cases would require copying.
>>>
>>> Defining new fourccs:  This has the obvious disadvantage that
>>> we'd either need to keep these internal to GStreamer, or make them
>>> well-known enough for other people to use them.  Integrating with
>>> existing elements (and libgstvideo) is straightfoward.  Adding
>>> new layouts (side-by-side, top-bottom, memory consecutive, etc.)
>>> is simple, although adds *lots* more fourccs.
>>>   
>>>     
>>>       
>> This means that we would have something like :
>> - video/x-raw-yuv-stereo-side-by-side
>> - video/x-raw-yuv-stereo-top-bottom
>> - video/x-raw-yuv-stereo-row-interleaved
>>   
>>     
>
> Lets see what david replies. I think he rather meant
>
> video/x-raw-yuv-stereo, format={"I420", "UVYV" ,..}, layout={"side-by-side", "over-under", ...}, ...
>   
You're right, this makes more sense...  I've started to experiment with 
the 3 new caps I've mentioned, but it would be simpler/better to use 
that layout.  It would still avoid the compatibility problems with 
elements that currently handle video/x-raw-yuv.

 From what I see now, it would be either that approach or the new FOURCC 
one, I'll reply to David's e-mail right after this one and we'll see.

>> And the same thing for different layouts like yuy2 and uyvy?  Planar 
>> layouts like I420 might be problematic for row interleaving though, 
>> because the u and v values spread to 2 lines...
>>
>> So these caps would describe 3D streams that carry the 2 images.  But 
>> what about streams that actually are combinations of the 2 images, like 
>> red/cyan streams?  I guess since these would be displayed on normal 
>> devices, they could just be normal streams, i.e. a 
>> video/x-raw-yuv-stereo-side-by-side stream could be converted to 
>> red/cyan stream with caps video/x-raw-yuv.
>>   
>>     
> Reprendered Red/cyan is not really detectable and normaly we would just
> render it as it is. I one would want to convert read/cyan into grayscale
> over under one can use a hand-crafted pipeline. Also the red/cyan output
> from the 3dmuxer would not show any sign of being 3d on its caps anymore.
>   
Great.  That's how I saw that.

Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100525/b94ef4bd/attachment.htm>


More information about the gstreamer-devel mailing list