1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<title>glstereomix: GStreamer Base Plugins 1.0 Plugins Reference Manual</title> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual"> 8<link rel="up" href="ch01.html" title="gst-plugins-base Elements"> 9<link rel="prev" href="gst-plugins-base-plugins-glsrcbin.html" title="glsrcbin"> 10<link rel="next" href="gst-plugins-base-plugins-glstereosplit.html" title="glstereosplit"> 11<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> 12<link rel="stylesheet" href="style.css" type="text/css"> 13</head> 14<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 15<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> 16<td width="100%" align="left" class="shortcuts"> 17<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> 18 <a href="#gst-plugins-base-plugins-glstereomix.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 19 <a href="#gst-plugins-base-plugins-glstereomix.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> 20 <a href="#gst-plugins-base-plugins-glstereomix.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> 21 <a href="#gst-plugins-base-plugins-glstereomix.properties" class="shortcut">Properties</a></span> 22</td> 23<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> 24<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> 25<td><a accesskey="p" href="gst-plugins-base-plugins-glsrcbin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> 26<td><a accesskey="n" href="gst-plugins-base-plugins-glstereosplit.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> 27</tr></table> 28<div class="refentry"> 29<a name="gst-plugins-base-plugins-glstereomix"></a><div class="titlepage"></div> 30<div class="refnamediv"><table width="100%"><tr> 31<td valign="top"> 32<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-glstereomix.top_of_page"></a>glstereomix</span></h2> 33<p>glstereomix</p> 34</td> 35<td class="gallery_image" valign="top" align="right"></td> 36</tr></table></div> 37<div class="refsect1"> 38<a name="gst-plugins-base-plugins-glstereomix.properties"></a><h2>Properties</h2> 39<div class="informaltable"><table class="informaltable" border="0"> 40<colgroup> 41<col width="150px" class="properties_type"> 42<col width="300px" class="properties_name"> 43<col width="200px" class="properties_flags"> 44</colgroup> 45<tbody><tr> 46<td class="property_type"><a href="../html/GstGLViewConvert.html#GstGLStereoDownmix"><span class="type">GstGLStereoDownmix</span></a></td> 47<td class="property_name"><a class="link" href="gst-plugins-base-plugins-glstereomix.html#GstGLStereoMix--downmix-mode" title="The “downmix-mode” property">downmix-mode</a></td> 48<td class="property_flags">Read / Write</td> 49</tr></tbody> 50</table></div> 51</div> 52<a name="GstGLStereoMix"></a><div class="refsect1"> 53<a name="gst-plugins-base-plugins-glstereomix.other"></a><h2>Types and Values</h2> 54<div class="informaltable"><table class="informaltable" width="100%" border="0"> 55<colgroup> 56<col width="150px" class="name"> 57<col class="description"> 58</colgroup> 59<tbody><tr> 60<td class="datatype_keyword">struct</td> 61<td class="function_name"><a class="link" href="gst-plugins-base-plugins-glstereomix.html#GstGLStereoMix-struct" title="struct GstGLStereoMix">GstGLStereoMix</a></td> 62</tr></tbody> 63</table></div> 64</div> 65<div class="refsect1"> 66<a name="gst-plugins-base-plugins-glstereomix.object-hierarchy"></a><h2>Object Hierarchy</h2> 67<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> 68 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> 69 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a> 70 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a> 71 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstAggregator.html#GstAggregator-struct">GstAggregator</a> 72 <span class="lineart">╰──</span> <a href="../html/GstVideoAggregator.html#GstVideoAggregator-struct">GstVideoAggregator</a> 73 <span class="lineart">╰──</span> GstGLBaseMixer 74 <span class="lineart">╰──</span> GstGLMixer 75 <span class="lineart">╰──</span> GstGLStereoMix 76</pre> 77</div> 78<div class="refsect1"> 79<a name="gst-plugins-base-plugins-glstereomix.implemented-interfaces"></a><h2>Implemented Interfaces</h2> 80<p> 81GstGLStereoMix implements 82 <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p> 83</div> 84<div class="refsect1"> 85<a name="gst-plugins-base-plugins-glstereomix.description"></a><h2>Description</h2> 86<p>Combine 2 input streams to produce a stereoscopic output 87stream. Input views are taken from the left pad and right pad 88respectively, and mixed according to their timelines.</p> 89<p>If either input stream is stereoscopic, the approproriate view 90(left or right) is taken from each stream and placed into the output.</p> 91<p>The multiview representation on the output is chosen according to 92the downstream caps.</p> 93<div class="refsect3"> 94<a name="id-1.2.62.8.5"></a><h4>Examples</h4> 95<div class="informalexample"> 96 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 97 <tbody> 98 <tr> 99 <td class="listing_lines" align="right"><pre>1 1002 1013 1024 1035 1046</pre></td> 105 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc pattern<span class="gtkdoc opt">=</span>ball name<span class="gtkdoc opt">=</span>left \ 106 videotestsrc name<span class="gtkdoc opt">=</span>right glstereomix name<span class="gtkdoc opt">=</span>mix \ 107 left<span class="gtkdoc opt">. !</span> vid<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span><span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span> \ 108 right<span class="gtkdoc opt">. !</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span><span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span> \ 109 mix<span class="gtkdoc opt">. !</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="string">'(memory:GLMemory)'</span><span class="gtkdoc opt">,</span>multiview<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span>side<span class="gtkdoc opt">-</span>by<span class="gtkdoc opt">-</span>side <span class="gtkdoc opt">!</span> \ 110 queue <span class="gtkdoc opt">!</span> glimagesink output<span class="gtkdoc opt">-</span>multiview<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span>side<span class="gtkdoc opt">-</span>by<span class="gtkdoc opt">-</span>side</pre></td> 111 </tr> 112 </tbody> 113 </table> 114</div> 115 116<p> Mix 2 different videotestsrc patterns into a side-by-side stereo image and display it.</p> 117<div class="informalexample"> 118 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 119 <tbody> 120 <tr> 121 <td class="listing_lines" align="right"><pre>1 1222 1233 1244 1255 1266 1277 1288</pre></td> 129 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>ev v4l2src name<span class="gtkdoc opt">=</span>left \ 130 videotestsrc name<span class="gtkdoc opt">=</span>right \ 131 glstereomix name<span class="gtkdoc opt">=</span>mix \ 132 left<span class="gtkdoc opt">. !</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span> <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> glcolorconvert <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span> \ 133 right<span class="gtkdoc opt">. !</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span> <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span> \ 134 mix<span class="gtkdoc opt">. !</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="string">'(memory:GLMemory)'</span><span class="gtkdoc opt">,</span>multiview<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span>top<span class="gtkdoc opt">-</span>bottom <span class="gtkdoc opt">!</span> \ 135 glcolorconvert <span class="gtkdoc opt">!</span> gldownload <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> x264enc <span class="gtkdoc opt">!</span> h264parse <span class="gtkdoc opt">!</span> \ 136 mp4mux <span class="gtkdoc opt">!</span> progressreport <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>output<span class="gtkdoc opt">.</span>mp4</pre></td> 137 </tr> 138 </tbody> 139 </table> 140</div> 141 142<p> Mix the input from a camera to the left view, and videotestsrc to the right view, 143 and encode as a top-bottom frame packed H.264 video.</p> 144</div> 145<div class="refsynopsisdiv"> 146<h2>Synopsis</h2> 147<div class="refsect2"> 148<a name="id-1.2.62.8.6.1"></a><h3>Element Information</h3> 149<div class="variablelist"><table border="0" class="variablelist"> 150<colgroup> 151<col align="left" valign="top"> 152<col> 153</colgroup> 154<tbody> 155<tr> 156<td><p><span class="term">plugin</span></p></td> 157<td> 158 <a class="link" href="gst-plugins-base-plugins-plugin-opengl.html#plugin-opengl">opengl</a> 159 </td> 160</tr> 161<tr> 162<td><p><span class="term">author</span></p></td> 163<td>Jan Schmidt <jan@centricular.com></td> 164</tr> 165<tr> 166<td><p><span class="term">class</span></p></td> 167<td>Filter/Effect/Video</td> 168</tr> 169</tbody> 170</table></div> 171</div> 172<hr> 173<div class="refsect2"> 174<a name="id-1.2.62.8.6.2"></a><h3>Element Pads</h3> 175<div class="variablelist"><table border="0" class="variablelist"> 176<colgroup> 177<col align="left" valign="top"> 178<col> 179</colgroup> 180<tbody> 181<tr> 182<td><p><span class="term">name</span></p></td> 183<td>sink_%u</td> 184</tr> 185<tr> 186<td><p><span class="term">direction</span></p></td> 187<td>sink</td> 188</tr> 189<tr> 190<td><p><span class="term">presence</span></p></td> 191<td>request</td> 192</tr> 193<tr> 194<td><p><span class="term">details</span></p></td> 195<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td> 196</tr> 197<tr> 198<td><p><span class="term"></span></p></td> 199<td> video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> 200</tr> 201<tr> 202<td><p><span class="term"></span></p></td> 203<td> video/x-raw, format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, VUYA, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> 204</tr> 205</tbody> 206</table></div> 207<div class="variablelist"><table border="0" class="variablelist"> 208<colgroup> 209<col align="left" valign="top"> 210<col> 211</colgroup> 212<tbody> 213<tr> 214<td><p><span class="term">name</span></p></td> 215<td>src</td> 216</tr> 217<tr> 218<td><p><span class="term">direction</span></p></td> 219<td>source</td> 220</tr> 221<tr> 222<td><p><span class="term">presence</span></p></td> 223<td>always</td> 224</tr> 225<tr> 226<td><p><span class="term">details</span></p></td> 227<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td> 228</tr> 229<tr> 230<td><p><span class="term"></span></p></td> 231<td> video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> 232</tr> 233<tr> 234<td><p><span class="term"></span></p></td> 235<td> video/x-raw, format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, VUYA, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> 236</tr> 237</tbody> 238</table></div> 239</div> 240</div> 241</div> 242<div class="refsect1"> 243<a name="gst-plugins-base-plugins-glstereomix.functions_details"></a><h2>Functions</h2> 244<p></p> 245</div> 246<div class="refsect1"> 247<a name="gst-plugins-base-plugins-glstereomix.other_details"></a><h2>Types and Values</h2> 248<div class="refsect2"> 249<a name="GstGLStereoMix-struct"></a><h3>struct GstGLStereoMix</h3> 250<pre class="programlisting">struct GstGLStereoMix;</pre> 251</div> 252</div> 253<div class="refsect1"> 254<a name="gst-plugins-base-plugins-glstereomix.property-details"></a><h2>Property Details</h2> 255<div class="refsect2"> 256<a name="GstGLStereoMix--downmix-mode"></a><h3>The <code class="literal">“downmix-mode”</code> property</h3> 257<pre class="programlisting"> “downmix-mode” <a href="../html/GstGLViewConvert.html#GstGLStereoDownmix"><span class="type">GstGLStereoDownmix</span></a></pre> 258<p>Output anaglyph type to generate when downmixing to mono.</p> 259<p>Flags: Read / Write</p> 260<p>Default value: GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS</p> 261</div> 262</div> 263</div> 264<div class="footer"> 265<hr>Generated by GTK-Doc V1.28</div> 266</body> 267</html>