[gst-devel] Video 3D support
Stefan Kost
ensonic at hora-obscura.de
Tue May 25 15:42:32 CEST 2010
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", ...}, ...
> 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.
Stefan
> I think this caps approach sounds like a good, simple approach that
> would carry the information we need. I'm not sure how I would deal with
> interlaced frames yet, I'll have to look into that.
>
> Thanks for your reply,
>
> Martin
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
More information about the gstreamer-devel
mailing list