tizen 2.0 init
[framework/multimedia/gst-plugins-good0.10.git] / docs / plugins / html / gst-plugins-good-plugins-videomixer2.html
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>videomixer2</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GStreamer Good Plugins 0.10 Plugins Reference Manual">
8 <link rel="up" href="ch01.html" title="gst-plugins-good Elements">
9 <link rel="prev" href="gst-plugins-good-plugins-videomixer.html" title="videomixer">
10 <link rel="next" href="gst-plugins-good-plugins-warptv.html" title="warptv">
11 <meta name="generator" content="GTK-Doc V1.18 (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="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gst-plugins-good-plugins-videomixer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Good Plugins 0.10 Plugins Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-good-plugins-warptv.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-good-plugins-videomixer2.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-good-plugins-videomixer2.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gst-plugins-good-plugins-videomixer2.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#gst-plugins-good-plugins-videomixer2.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#gst-plugins-good-plugins-videomixer2.properties" class="shortcut">Properties</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="gst-plugins-good-plugins-videomixer2"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-videomixer2.top_of_page"></a>videomixer2</span></h2>
40 <p>videomixer2 — Mix multiple video streams</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="gst-plugins-good-plugins-videomixer2.synopsis"></a><h2>Synopsis</h2>
46 <a name="GstVideoMixer2"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2-struct" title="struct GstVideoMixer2">GstVideoMixer2</a>;
47 enum                <a class="link" href="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2Background" title="enum GstVideoMixer2Background">GstVideoMixer2Background</a>;
48 </pre>
49 </div>
50 <div class="refsect1">
51 <a name="gst-plugins-good-plugins-videomixer2.object-hierarchy"></a><h2>Object Hierarchy</h2>
52 <pre class="synopsis">
53   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
54    +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
55          +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
56                +----GstVideoMixer2
57 </pre>
58 </div>
59 <div class="refsect1">
60 <a name="gst-plugins-good-plugins-videomixer2.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
61 <p>
62 GstVideoMixer2 implements
63  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
64 </div>
65 <div class="refsect1">
66 <a name="gst-plugins-good-plugins-videomixer2.properties"></a><h2>Properties</h2>
67 <pre class="synopsis">
68   "<a class="link" href="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2--background" title='The "background" property'>background</a>"               <a class="link" href="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2Background" title="enum GstVideoMixer2Background"><span class="type">GstVideoMixer2Background</span></a>  : Read / Write
69 </pre>
70 </div>
71 <div class="refsect1">
72 <a name="gst-plugins-good-plugins-videomixer2.description"></a><h2>Description</h2>
73 <p>
74 Videomixer2 can accept AYUV, ARGB and BGRA video streams. For each of the requested
75 sink pads it will compare the incoming geometry and framerate to define the
76 output parameters. Indeed output video frames will have the geometry of the
77 biggest incoming video stream and the framerate of the fastest incoming one.
78 </p>
79 <p>
80 All sink pads must be either AYUV, ARGB or BGRA, but a mixture of them is not 
81 supported. The src pad will have the same colorspace as the sinks. 
82 No colorspace conversion is done. 
83 </p>
84 <p>
85 Individual parameters for each input stream can be configured on the
86 <a class="link" href="GstVideoMixer2Pad.html" title="GstVideoMixer2Pad"><span class="type">GstVideoMixer2Pad</span></a>.
87 </p>
88 <p>
89 At this stage, videomixer2 is considered UNSTABLE. The API provided in the
90 properties may yet change in the near future. When videomixer2 is stable,
91 it will replace <span class="type">videomixer</span>
92 </p>
93 <p>
94 </p>
95 <div class="refsect2">
96 <a name="idp24314736"></a><h3>Sample pipelines</h3>
97 <div class="informalexample">
98   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
99     <tbody>
100       <tr>
101         <td class="listing_lines" align="right"><pre>1
102 2
103 3
104 4
105 5
106 6
107 7
108 8</pre></td>
109         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">0.10</span> \
110   videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> \
111   video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>AYUV<span class="gtkdoc opt">,</span>framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> \
112   videobox border<span class="gtkdoc opt">-</span>alpha<span class="gtkdoc opt">=</span><span class="number">0</span> top<span class="gtkdoc opt">=-</span><span class="number">70</span> bottom<span class="gtkdoc opt">=-</span><span class="number">70</span> right<span class="gtkdoc opt">=-</span><span class="number">220</span> <span class="gtkdoc opt">!</span> \
113   videomixer2 name<span class="gtkdoc opt">=</span>mix sink_0<span class="gtkdoc opt">::</span>alpha<span class="gtkdoc opt">=</span><span class="number">0.7</span> sink_1<span class="gtkdoc opt">::</span>alpha<span class="gtkdoc opt">=</span><span class="number">0.5</span> <span class="gtkdoc opt">!</span> \
114   ffmpegcolorspace <span class="gtkdoc opt">!</span> xvimagesink \
115   videotestsrc <span class="gtkdoc opt">!</span> \
116   video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>AYUV<span class="gtkdoc opt">,</span>framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td>
117       </tr>
118     </tbody>
119   </table>
120 </div>
121  A pipeline to demonstrate videomixer used together with videobox.
122 This should show a 320x240 pixels video test source with some transparency
123 showing the background checker pattern. Another video test source with just
124 the snow pattern of 100x100 pixels is overlayed on top of the first one on
125 the left vertically centered with a small transparency showing the first
126 video test source behind and the checker pattern under it. Note that the
127 framerate of the output video is 10 frames per second.
128 <div class="informalexample">
129   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
130     <tbody>
131       <tr>
132         <td class="listing_lines" align="right"><pre>1
133 2
134 3
135 4
136 5</pre></td>
137         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> \
138   video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>rgb<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> \
139   videomixer2 name<span class="gtkdoc opt">=</span>mix <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> ximagesink \
140   videotestsrc <span class="gtkdoc opt">!</span>  \
141   video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>rgb<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td>
142       </tr>
143     </tbody>
144   </table>
145 </div>
146  A pipeline to demostrate bgra mixing. (This does not demonstrate alpha blending). 
147 <div class="informalexample">
148   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
149     <tbody>
150       <tr>
151         <td class="listing_lines" align="right"><pre>1
152 2
153 3
154 4
155 5</pre></td>
156         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> \
157   video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format <span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>I420<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> \
158   videomixer2 name<span class="gtkdoc opt">=</span>mix <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> ximagesink \
159   videotestsrc <span class="gtkdoc opt">!</span> \
160   video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>I420<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td>
161       </tr>
162     </tbody>
163   </table>
164 </div>
165  A pipeline to test I420
166 <div class="informalexample">
167   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
168     <tbody>
169       <tr>
170         <td class="listing_lines" align="right"><pre>1
171 2
172 3
173 4
174 5
175 6
176 7
177 8</pre></td>
178         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videomixer2 name<span class="gtkdoc opt">=</span>mixer sink_1<span class="gtkdoc opt">::</span>alpha<span class="gtkdoc opt">=</span><span class="number">0.5</span> sink_1<span class="gtkdoc opt">::</span>xpos<span class="gtkdoc opt">=</span><span class="number">50</span> sink_1<span class="gtkdoc opt">::</span>ypos<span class="gtkdoc opt">=</span><span class="number">50</span> <span class="gtkdoc opt">!</span> \
179   ffmpegcolorspace <span class="gtkdoc opt">!</span> ximagesink \
180   videotestsrc pattern<span class="gtkdoc opt">=</span>snow timestamp<span class="gtkdoc opt">-</span>offset<span class="gtkdoc opt">=</span><span class="number">3000000000</span> <span class="gtkdoc opt">!</span> \
181   <span class="string">&quot;video/x-raw-yuv,format=(fourcc)AYUV,width=640,height=480,framerate=(fraction)30/1&quot;</span> <span class="gtkdoc opt">!</span> \
182   timeoverlay <span class="gtkdoc opt">!</span> queue2 <span class="gtkdoc opt">!</span> mixer<span class="gtkdoc opt">.</span> \
183   videotestsrc pattern<span class="gtkdoc opt">=</span>smpte <span class="gtkdoc opt">!</span> \
184   <span class="string">&quot;video/x-raw-yuv,format=(fourcc)AYUV,width=800,height=600,framerate=(fraction)10/1&quot;</span> <span class="gtkdoc opt">!</span> \
185   timeoverlay <span class="gtkdoc opt">!</span> queue2 <span class="gtkdoc opt">!</span> mixer<span class="gtkdoc opt">.</span></pre></td>
186       </tr>
187     </tbody>
188   </table>
189 </div>
190  A pipeline to demonstrate synchronized mixing (the second stream starts after 3 seconds)
191 </div>
192 <p>
193 </p>
194 <div class="refsynopsisdiv">
195 <h2>Synopsis</h2>
196 <div class="refsect2">
197 <a name="idp23428624"></a><h3>Element Information</h3>
198 <div class="variablelist"><table border="0">
199 <col align="left" valign="top">
200 <tbody>
201 <tr>
202 <td><p><span class="term">plugin</span></p></td>
203 <td>
204             <a class="link" href="gst-plugins-good-plugins-plugin-videomixer.html#plugin-videomixer">videomixer</a>
205           </td>
206 </tr>
207 <tr>
208 <td><p><span class="term">author</span></p></td>
209 <td>Wim Taymans &lt;wim@fluendo.com&gt;, Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</td>
210 </tr>
211 <tr>
212 <td><p><span class="term">class</span></p></td>
213 <td>Filter/Editor/Video</td>
214 </tr>
215 </tbody>
216 </table></div>
217 </div>
218 <hr>
219 <div class="refsect2">
220 <a name="idp23083456"></a><h3>Element Pads</h3>
221 <div class="variablelist"><table border="0">
222 <col align="left" valign="top">
223 <tbody>
224 <tr>
225 <td><p><span class="term">name</span></p></td>
226 <td>sink_%d</td>
227 </tr>
228 <tr>
229 <td><p><span class="term">direction</span></p></td>
230 <td>sink</td>
231 </tr>
232 <tr>
233 <td><p><span class="term">presence</span></p></td>
234 <td>request</td>
235 </tr>
236 <tr>
237 <td><p><span class="term">details</span></p></td>
238 <td>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
239 </tr>
240 <tr>
241 <td><p><span class="term"></span></p></td>
242 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
243 </tr>
244 <tr>
245 <td><p><span class="term"></span></p></td>
246 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
247 </tr>
248 <tr>
249 <td><p><span class="term"></span></p></td>
250 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
251 </tr>
252 <tr>
253 <td><p><span class="term"></span></p></td>
254 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
255 </tr>
256 <tr>
257 <td><p><span class="term"></span></p></td>
258 <td> video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
259 </tr>
260 <tr>
261 <td><p><span class="term"></span></p></td>
262 <td> video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
263 </tr>
264 <tr>
265 <td><p><span class="term"></span></p></td>
266 <td> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
267 </tr>
268 <tr>
269 <td><p><span class="term"></span></p></td>
270 <td> video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
271 </tr>
272 <tr>
273 <td><p><span class="term"></span></p></td>
274 <td> video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
275 </tr>
276 <tr>
277 <td><p><span class="term"></span></p></td>
278 <td> video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
279 </tr>
280 <tr>
281 <td><p><span class="term"></span></p></td>
282 <td> video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
283 </tr>
284 <tr>
285 <td><p><span class="term"></span></p></td>
286 <td> video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
287 </tr>
288 <tr>
289 <td><p><span class="term"></span></p></td>
290 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
291 </tr>
292 <tr>
293 <td><p><span class="term"></span></p></td>
294 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
295 </tr>
296 <tr>
297 <td><p><span class="term"></span></p></td>
298 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
299 </tr>
300 <tr>
301 <td><p><span class="term"></span></p></td>
302 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
303 </tr>
304 <tr>
305 <td><p><span class="term"></span></p></td>
306 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
307 </tr>
308 <tr>
309 <td><p><span class="term"></span></p></td>
310 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
311 </tr>
312 </tbody>
313 </table></div>
314 <div class="variablelist"><table border="0">
315 <col align="left" valign="top">
316 <tbody>
317 <tr>
318 <td><p><span class="term">name</span></p></td>
319 <td>src</td>
320 </tr>
321 <tr>
322 <td><p><span class="term">direction</span></p></td>
323 <td>source</td>
324 </tr>
325 <tr>
326 <td><p><span class="term">presence</span></p></td>
327 <td>always</td>
328 </tr>
329 <tr>
330 <td><p><span class="term">details</span></p></td>
331 <td>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
332 </tr>
333 <tr>
334 <td><p><span class="term"></span></p></td>
335 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
336 </tr>
337 <tr>
338 <td><p><span class="term"></span></p></td>
339 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
340 </tr>
341 <tr>
342 <td><p><span class="term"></span></p></td>
343 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
344 </tr>
345 <tr>
346 <td><p><span class="term"></span></p></td>
347 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
348 </tr>
349 <tr>
350 <td><p><span class="term"></span></p></td>
351 <td> video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
352 </tr>
353 <tr>
354 <td><p><span class="term"></span></p></td>
355 <td> video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
356 </tr>
357 <tr>
358 <td><p><span class="term"></span></p></td>
359 <td> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
360 </tr>
361 <tr>
362 <td><p><span class="term"></span></p></td>
363 <td> video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
364 </tr>
365 <tr>
366 <td><p><span class="term"></span></p></td>
367 <td> video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
368 </tr>
369 <tr>
370 <td><p><span class="term"></span></p></td>
371 <td> video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
372 </tr>
373 <tr>
374 <td><p><span class="term"></span></p></td>
375 <td> video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
376 </tr>
377 <tr>
378 <td><p><span class="term"></span></p></td>
379 <td> video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
380 </tr>
381 <tr>
382 <td><p><span class="term"></span></p></td>
383 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
384 </tr>
385 <tr>
386 <td><p><span class="term"></span></p></td>
387 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
388 </tr>
389 <tr>
390 <td><p><span class="term"></span></p></td>
391 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
392 </tr>
393 <tr>
394 <td><p><span class="term"></span></p></td>
395 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
396 </tr>
397 <tr>
398 <td><p><span class="term"></span></p></td>
399 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
400 </tr>
401 <tr>
402 <td><p><span class="term"></span></p></td>
403 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
404 </tr>
405 </tbody>
406 </table></div>
407 </div>
408 </div>
409 <p>
410 </p>
411 </div>
412 <div class="refsect1">
413 <a name="gst-plugins-good-plugins-videomixer2.details"></a><h2>Details</h2>
414 <div class="refsect2">
415 <a name="GstVideoMixer2-struct"></a><h3>struct GstVideoMixer2</h3>
416 <pre class="programlisting">struct GstVideoMixer2;</pre>
417 <p>
418 The opaque <a class="link" href="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2"><span class="type">GstVideoMixer2</span></a> structure.
419 </p>
420 </div>
421 <hr>
422 <div class="refsect2">
423 <a name="GstVideoMixer2Background"></a><h3>enum GstVideoMixer2Background</h3>
424 <pre class="programlisting">typedef enum {
425   VIDEO_MIXER2_BACKGROUND_CHECKER,
426   VIDEO_MIXER2_BACKGROUND_BLACK,
427   VIDEO_MIXER2_BACKGROUND_WHITE,
428   VIDEO_MIXER2_BACKGROUND_TRANSPARENT,
429 } GstVideoMixer2Background;
430 </pre>
431 <p>
432 The different backgrounds videomixer can blend over.
433 </p>
434 <div class="variablelist"><table border="0">
435 <col align="left" valign="top">
436 <tbody>
437 <tr>
438 <td><p><a name="VIDEO-MIXER2-BACKGROUND-CHECKER:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER2_BACKGROUND_CHECKER</code></span></p></td>
439 <td>checker pattern background
440 </td>
441 </tr>
442 <tr>
443 <td><p><a name="VIDEO-MIXER2-BACKGROUND-BLACK:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER2_BACKGROUND_BLACK</code></span></p></td>
444 <td>solid color black background
445 </td>
446 </tr>
447 <tr>
448 <td><p><a name="VIDEO-MIXER2-BACKGROUND-WHITE:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER2_BACKGROUND_WHITE</code></span></p></td>
449 <td>solid color white background
450 </td>
451 </tr>
452 <tr>
453 <td><p><a name="VIDEO-MIXER2-BACKGROUND-TRANSPARENT:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER2_BACKGROUND_TRANSPARENT</code></span></p></td>
454 <td>background is left transparent and layers are composited using "A OVER B" composition rules. This is only applicable to AYUV and ARGB (and variants) as it preserves the alpha channel and allows for further mixing.
455 </td>
456 </tr>
457 </tbody>
458 </table></div>
459 </div>
460 </div>
461 <div class="refsect1">
462 <a name="gst-plugins-good-plugins-videomixer2.property-details"></a><h2>Property Details</h2>
463 <div class="refsect2">
464 <a name="GstVideoMixer2--background"></a><h3>The <code class="literal">"background"</code> property</h3>
465 <pre class="programlisting">  "background"               <a class="link" href="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2Background" title="enum GstVideoMixer2Background"><span class="type">GstVideoMixer2Background</span></a>  : Read / Write</pre>
466 <p>Background type.</p>
467 <p>Default value: Checker pattern</p>
468 </div>
469 </div>
470 </div>
471 <div class="footer">
472 <hr>
473           Generated by GTK-Doc V1.18</div>
474 </body>
475 </html>