Update docs
[platform/upstream/gstreamer.git] / docs / plugins / inspect / plugin-opengl.xml
1 <plugin>
2   <name>opengl</name>
3   <description>OpenGL plugin</description>
4   <filename>../../ext/gl/.libs/libgstopengl.so</filename>
5   <basename>libgstopengl.so</basename>
6   <version>1.15.1</version>
7   <license>LGPL</license>
8   <source>gst-plugins-base</source>
9   <package>GStreamer Base Plug-ins source release</package>
10   <origin>Unknown package origin</origin>
11   <elements>
12     <element>
13       <name>glalpha</name>
14       <longname>OpenGL Alpha Filter</longname>
15       <class>Filter/Effect/Video</class>
16       <description>Adds an alpha channel to video using OpenGL - uniform or chroma-keying</description>
17       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
18       <pads>
19         <caps>
20           <name>sink</name>
21           <direction>sink</direction>
22           <presence>always</presence>
23           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
24         </caps>
25         <caps>
26           <name>src</name>
27           <direction>source</direction>
28           <presence>always</presence>
29           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
30         </caps>
31       </pads>
32     </element>
33     <element>
34       <name>glcolorbalance</name>
35       <longname>Video balance</longname>
36       <class>Filter/Effect/Video</class>
37       <description>Adjusts brightness, contrast, hue, saturation on a video stream</description>
38       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
39       <pads>
40         <caps>
41           <name>sink</name>
42           <direction>sink</direction>
43           <presence>always</presence>
44           <details>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, external-oes }; video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, external-oes }</details>
45         </caps>
46         <caps>
47           <name>src</name>
48           <direction>source</direction>
49           <presence>always</presence>
50           <details>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, external-oes }; video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, external-oes }</details>
51         </caps>
52       </pads>
53     </element>
54     <element>
55       <name>glcolorconvert</name>
56       <longname>OpenGL color converter</longname>
57       <class>Filter/Converter/Video</class>
58       <description>Converts between color spaces using OpenGL shaders</description>
59       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
60       <pads>
61         <caps>
62           <name>sink</name>
63           <direction>sink</direction>
64           <presence>always</presence>
65           <details>video/x-raw(memory:GLMemory), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }; video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }</details>
66         </caps>
67         <caps>
68           <name>src</name>
69           <direction>source</direction>
70           <presence>always</presence>
71           <details>video/x-raw(memory:GLMemory), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }; video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }</details>
72         </caps>
73       </pads>
74     </element>
75     <element>
76       <name>glcolorscale</name>
77       <longname>OpenGL color scale</longname>
78       <class>Filter/Effect/Video</class>
79       <description>Colorspace converter and video scaler</description>
80       <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;
81 Matthew Waters &lt;matthew@centricular.com&gt;</author>
82       <pads>
83         <caps>
84           <name>sink</name>
85           <direction>sink</direction>
86           <presence>always</presence>
87           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
88         </caps>
89         <caps>
90           <name>src</name>
91           <direction>source</direction>
92           <presence>always</presence>
93           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
94         </caps>
95       </pads>
96     </element>
97     <element>
98       <name>gldeinterlace</name>
99       <longname>OpenGL deinterlacing filter</longname>
100       <class>Deinterlace</class>
101       <description>Deinterlacing based on fragment shaders</description>
102       <author>Julien Isorce &lt;julien.isorce@mail.com&gt;</author>
103       <pads>
104         <caps>
105           <name>sink</name>
106           <direction>sink</direction>
107           <presence>always</presence>
108           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
109         </caps>
110         <caps>
111           <name>src</name>
112           <direction>source</direction>
113           <presence>always</presence>
114           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
115         </caps>
116       </pads>
117     </element>
118     <element>
119       <name>gldifferencematte</name>
120       <longname>Gstreamer OpenGL DifferenceMatte</longname>
121       <class>Filter/Effect/Video</class>
122       <description>Saves a background frame and replace it with a pixbuf</description>
123       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
124       <pads>
125         <caps>
126           <name>sink</name>
127           <direction>sink</direction>
128           <presence>always</presence>
129           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
130         </caps>
131         <caps>
132           <name>src</name>
133           <direction>source</direction>
134           <presence>always</presence>
135           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
136         </caps>
137       </pads>
138     </element>
139     <element>
140       <name>gldownload</name>
141       <longname>OpenGL downloader</longname>
142       <class>Filter/Video</class>
143       <description>Downloads data from OpenGL</description>
144       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
145       <pads>
146         <caps>
147           <name>sink</name>
148           <direction>sink</direction>
149           <presence>always</presence>
150           <details>video/x-raw(memory:GLMemory); video/x-raw</details>
151         </caps>
152         <caps>
153           <name>src</name>
154           <direction>source</direction>
155           <presence>always</presence>
156           <details>video/x-raw(memory:DMABuf); video/x-raw; video/x-raw(memory:GLMemory)</details>
157         </caps>
158       </pads>
159     </element>
160     <element>
161       <name>gleffects</name>
162       <longname>Gstreamer OpenGL Effects</longname>
163       <class>Filter/Effect/Video</class>
164       <description>GL Shading Language effects</description>
165       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
166       <pads>
167         <caps>
168           <name>sink</name>
169           <direction>sink</direction>
170           <presence>always</presence>
171           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
172         </caps>
173         <caps>
174           <name>src</name>
175           <direction>source</direction>
176           <presence>always</presence>
177           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
178         </caps>
179       </pads>
180     </element>
181     <element>
182       <name>gleffects_blur</name>
183       <longname>Blur with 9x9 separable convolution Effect</longname>
184       <class>Filter/Effect/Video</class>
185       <description>GL Shading Language effects - Blur with 9x9 separable convolution Effect</description>
186       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
187       <pads>
188         <caps>
189           <name>sink</name>
190           <direction>sink</direction>
191           <presence>always</presence>
192           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
193         </caps>
194         <caps>
195           <name>src</name>
196           <direction>source</direction>
197           <presence>always</presence>
198           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
199         </caps>
200       </pads>
201     </element>
202     <element>
203       <name>gleffects_bulge</name>
204       <longname>Bulge Effect</longname>
205       <class>Filter/Effect/Video</class>
206       <description>GL Shading Language effects - Bulge Effect</description>
207       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
208       <pads>
209         <caps>
210           <name>sink</name>
211           <direction>sink</direction>
212           <presence>always</presence>
213           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
214         </caps>
215         <caps>
216           <name>src</name>
217           <direction>source</direction>
218           <presence>always</presence>
219           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
220         </caps>
221       </pads>
222     </element>
223     <element>
224       <name>gleffects_fisheye</name>
225       <longname>FishEye Effect</longname>
226       <class>Filter/Effect/Video</class>
227       <description>GL Shading Language effects - FishEye Effect</description>
228       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
229       <pads>
230         <caps>
231           <name>sink</name>
232           <direction>sink</direction>
233           <presence>always</presence>
234           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
235         </caps>
236         <caps>
237           <name>src</name>
238           <direction>source</direction>
239           <presence>always</presence>
240           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
241         </caps>
242       </pads>
243     </element>
244     <element>
245       <name>gleffects_glow</name>
246       <longname>Glow Lighting Effect</longname>
247       <class>Filter/Effect/Video</class>
248       <description>GL Shading Language effects - Glow Lighting Effect</description>
249       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
250       <pads>
251         <caps>
252           <name>sink</name>
253           <direction>sink</direction>
254           <presence>always</presence>
255           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
256         </caps>
257         <caps>
258           <name>src</name>
259           <direction>source</direction>
260           <presence>always</presence>
261           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
262         </caps>
263       </pads>
264     </element>
265     <element>
266       <name>gleffects_heat</name>
267       <longname>Heat Signature Effect</longname>
268       <class>Filter/Effect/Video</class>
269       <description>GL Shading Language effects - Heat Signature Effect</description>
270       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
271       <pads>
272         <caps>
273           <name>sink</name>
274           <direction>sink</direction>
275           <presence>always</presence>
276           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
277         </caps>
278         <caps>
279           <name>src</name>
280           <direction>source</direction>
281           <presence>always</presence>
282           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
283         </caps>
284       </pads>
285     </element>
286     <element>
287       <name>gleffects_identity</name>
288       <longname>Do nothing Effect</longname>
289       <class>Filter/Effect/Video</class>
290       <description>GL Shading Language effects - Do nothing Effect</description>
291       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
292       <pads>
293         <caps>
294           <name>sink</name>
295           <direction>sink</direction>
296           <presence>always</presence>
297           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
298         </caps>
299         <caps>
300           <name>src</name>
301           <direction>source</direction>
302           <presence>always</presence>
303           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
304         </caps>
305       </pads>
306     </element>
307     <element>
308       <name>gleffects_laplacian</name>
309       <longname>Laplacian Convolution Demo Effect</longname>
310       <class>Filter/Effect/Video</class>
311       <description>GL Shading Language effects - Laplacian Convolution Demo Effect</description>
312       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
313       <pads>
314         <caps>
315           <name>sink</name>
316           <direction>sink</direction>
317           <presence>always</presence>
318           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
319         </caps>
320         <caps>
321           <name>src</name>
322           <direction>source</direction>
323           <presence>always</presence>
324           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
325         </caps>
326       </pads>
327     </element>
328     <element>
329       <name>gleffects_lumaxpro</name>
330       <longname>Luma Cross Processing Effect</longname>
331       <class>Filter/Effect/Video</class>
332       <description>GL Shading Language effects - Luma Cross Processing Effect</description>
333       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
334       <pads>
335         <caps>
336           <name>sink</name>
337           <direction>sink</direction>
338           <presence>always</presence>
339           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
340         </caps>
341         <caps>
342           <name>src</name>
343           <direction>source</direction>
344           <presence>always</presence>
345           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
346         </caps>
347       </pads>
348     </element>
349     <element>
350       <name>gleffects_mirror</name>
351       <longname>Mirror Effect</longname>
352       <class>Filter/Effect/Video</class>
353       <description>GL Shading Language effects - Mirror Effect</description>
354       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
355       <pads>
356         <caps>
357           <name>sink</name>
358           <direction>sink</direction>
359           <presence>always</presence>
360           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
361         </caps>
362         <caps>
363           <name>src</name>
364           <direction>source</direction>
365           <presence>always</presence>
366           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
367         </caps>
368       </pads>
369     </element>
370     <element>
371       <name>gleffects_sepia</name>
372       <longname>Sepia Toning Effect</longname>
373       <class>Filter/Effect/Video</class>
374       <description>GL Shading Language effects - Sepia Toning Effect</description>
375       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
376       <pads>
377         <caps>
378           <name>sink</name>
379           <direction>sink</direction>
380           <presence>always</presence>
381           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
382         </caps>
383         <caps>
384           <name>src</name>
385           <direction>source</direction>
386           <presence>always</presence>
387           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
388         </caps>
389       </pads>
390     </element>
391     <element>
392       <name>gleffects_sin</name>
393       <longname>All Grey but Red Effect</longname>
394       <class>Filter/Effect/Video</class>
395       <description>GL Shading Language effects - All Grey but Red Effect</description>
396       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
397       <pads>
398         <caps>
399           <name>sink</name>
400           <direction>sink</direction>
401           <presence>always</presence>
402           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
403         </caps>
404         <caps>
405           <name>src</name>
406           <direction>source</direction>
407           <presence>always</presence>
408           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
409         </caps>
410       </pads>
411     </element>
412     <element>
413       <name>gleffects_sobel</name>
414       <longname>Sobel edge detection Effect</longname>
415       <class>Filter/Effect/Video</class>
416       <description>GL Shading Language effects - Sobel edge detection Effect</description>
417       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
418       <pads>
419         <caps>
420           <name>sink</name>
421           <direction>sink</direction>
422           <presence>always</presence>
423           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
424         </caps>
425         <caps>
426           <name>src</name>
427           <direction>source</direction>
428           <presence>always</presence>
429           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
430         </caps>
431       </pads>
432     </element>
433     <element>
434       <name>gleffects_square</name>
435       <longname>Square Effect</longname>
436       <class>Filter/Effect/Video</class>
437       <description>GL Shading Language effects - Square Effect</description>
438       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
439       <pads>
440         <caps>
441           <name>sink</name>
442           <direction>sink</direction>
443           <presence>always</presence>
444           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
445         </caps>
446         <caps>
447           <name>src</name>
448           <direction>source</direction>
449           <presence>always</presence>
450           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
451         </caps>
452       </pads>
453     </element>
454     <element>
455       <name>gleffects_squeeze</name>
456       <longname>Squeeze Effect</longname>
457       <class>Filter/Effect/Video</class>
458       <description>GL Shading Language effects - Squeeze Effect</description>
459       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
460       <pads>
461         <caps>
462           <name>sink</name>
463           <direction>sink</direction>
464           <presence>always</presence>
465           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
466         </caps>
467         <caps>
468           <name>src</name>
469           <direction>source</direction>
470           <presence>always</presence>
471           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
472         </caps>
473       </pads>
474     </element>
475     <element>
476       <name>gleffects_stretch</name>
477       <longname>Stretch Effect</longname>
478       <class>Filter/Effect/Video</class>
479       <description>GL Shading Language effects - Stretch Effect</description>
480       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
481       <pads>
482         <caps>
483           <name>sink</name>
484           <direction>sink</direction>
485           <presence>always</presence>
486           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
487         </caps>
488         <caps>
489           <name>src</name>
490           <direction>source</direction>
491           <presence>always</presence>
492           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
493         </caps>
494       </pads>
495     </element>
496     <element>
497       <name>gleffects_tunnel</name>
498       <longname>Light Tunnel Effect</longname>
499       <class>Filter/Effect/Video</class>
500       <description>GL Shading Language effects - Light Tunnel Effect</description>
501       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
502       <pads>
503         <caps>
504           <name>sink</name>
505           <direction>sink</direction>
506           <presence>always</presence>
507           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
508         </caps>
509         <caps>
510           <name>src</name>
511           <direction>source</direction>
512           <presence>always</presence>
513           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
514         </caps>
515       </pads>
516     </element>
517     <element>
518       <name>gleffects_twirl</name>
519       <longname>Twirl Effect</longname>
520       <class>Filter/Effect/Video</class>
521       <description>GL Shading Language effects - Twirl Effect</description>
522       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
523       <pads>
524         <caps>
525           <name>sink</name>
526           <direction>sink</direction>
527           <presence>always</presence>
528           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
529         </caps>
530         <caps>
531           <name>src</name>
532           <direction>source</direction>
533           <presence>always</presence>
534           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
535         </caps>
536       </pads>
537     </element>
538     <element>
539       <name>gleffects_xpro</name>
540       <longname>Cross Processing Effect</longname>
541       <class>Filter/Effect/Video</class>
542       <description>GL Shading Language effects - Cross Processing Effect</description>
543       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
544       <pads>
545         <caps>
546           <name>sink</name>
547           <direction>sink</direction>
548           <presence>always</presence>
549           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
550         </caps>
551         <caps>
552           <name>src</name>
553           <direction>source</direction>
554           <presence>always</presence>
555           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
556         </caps>
557       </pads>
558     </element>
559     <element>
560       <name>gleffects_xray</name>
561       <longname>Glowing negative effect</longname>
562       <class>Filter/Effect/Video</class>
563       <description>GL Shading Language effects - Glowing negative effect</description>
564       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
565       <pads>
566         <caps>
567           <name>sink</name>
568           <direction>sink</direction>
569           <presence>always</presence>
570           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
571         </caps>
572         <caps>
573           <name>src</name>
574           <direction>source</direction>
575           <presence>always</presence>
576           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
577         </caps>
578       </pads>
579     </element>
580     <element>
581       <name>glfilterapp</name>
582       <longname>OpenGL application filter</longname>
583       <class>Filter/Effect</class>
584       <description>Use client callbacks to define the scene</description>
585       <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
586       <pads>
587         <caps>
588           <name>sink</name>
589           <direction>sink</direction>
590           <presence>always</presence>
591           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
592         </caps>
593         <caps>
594           <name>src</name>
595           <direction>source</direction>
596           <presence>always</presence>
597           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
598         </caps>
599       </pads>
600     </element>
601     <element>
602       <name>glfilterbin</name>
603       <longname>GL Filter Bin</longname>
604       <class>Filter/Video</class>
605       <description>Infrastructure to process GL textures</description>
606       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
607       <pads>
608         <caps>
609           <name>sink</name>
610           <direction>sink</direction>
611           <presence>always</presence>
612           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
613         </caps>
614         <caps>
615           <name>src</name>
616           <direction>source</direction>
617           <presence>always</presence>
618           <details>video/x-raw(ANY)</details>
619         </caps>
620       </pads>
621     </element>
622     <element>
623       <name>glfiltercube</name>
624       <longname>OpenGL cube filter</longname>
625       <class>Filter/Effect/Video</class>
626       <description>Map input texture on the 6 cube faces</description>
627       <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
628       <pads>
629         <caps>
630           <name>sink</name>
631           <direction>sink</direction>
632           <presence>always</presence>
633           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
634         </caps>
635         <caps>
636           <name>src</name>
637           <direction>source</direction>
638           <presence>always</presence>
639           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
640         </caps>
641       </pads>
642     </element>
643     <element>
644       <name>glfilterglass</name>
645       <longname>OpenGL glass filter</longname>
646       <class>Filter/Effect/Video</class>
647       <description>Glass Filter</description>
648       <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
649       <pads>
650         <caps>
651           <name>sink</name>
652           <direction>sink</direction>
653           <presence>always</presence>
654           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
655         </caps>
656         <caps>
657           <name>src</name>
658           <direction>source</direction>
659           <presence>always</presence>
660           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
661         </caps>
662       </pads>
663     </element>
664     <element>
665       <name>glimagesink</name>
666       <longname>GL Sink Bin</longname>
667       <class>Sink/Video</class>
668       <description>Infrastructure to process GL textures</description>
669       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
670       <pads>
671         <caps>
672           <name>sink</name>
673           <direction>sink</direction>
674           <presence>always</presence>
675           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
676         </caps>
677       </pads>
678     </element>
679     <element>
680       <name>glimagesinkelement</name>
681       <longname>OpenGL video sink</longname>
682       <class>Sink/Video</class>
683       <description>A videosink based on OpenGL</description>
684       <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
685       <pads>
686         <caps>
687           <name>sink</name>
688           <direction>sink</direction>
689           <presence>always</presence>
690           <details>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, external-oes }; video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, external-oes }</details>
691         </caps>
692       </pads>
693     </element>
694     <element>
695       <name>glmixerbin</name>
696       <longname>OpenGL video_mixer empty bin</longname>
697       <class>Bin/Filter/Effect/Video/Mixer</class>
698       <description>OpenGL video_mixer empty bin</description>
699       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
700       <pads>
701         <caps>
702           <name>sink_%u</name>
703           <direction>sink</direction>
704           <presence>request</presence>
705           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
706         </caps>
707         <caps>
708           <name>src</name>
709           <direction>source</direction>
710           <presence>always</presence>
711           <details>video/x-raw(ANY)</details>
712         </caps>
713       </pads>
714     </element>
715     <element>
716       <name>glmosaic</name>
717       <longname>OpenGL mosaic</longname>
718       <class>Filter/Effect/Video</class>
719       <description>OpenGL mosaic</description>
720       <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
721       <pads>
722         <caps>
723           <name>sink_%u</name>
724           <direction>sink</direction>
725           <presence>request</presence>
726           <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
727         </caps>
728         <caps>
729           <name>src</name>
730           <direction>source</direction>
731           <presence>always</presence>
732           <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
733         </caps>
734       </pads>
735     </element>
736     <element>
737       <name>gloverlay</name>
738       <longname>Gstreamer OpenGL Overlay</longname>
739       <class>Filter/Effect/Video</class>
740       <description>Overlay GL video texture with a JPEG/PNG image</description>
741       <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;, Matthew Waters &lt;matthew@centricular.com&gt;</author>
742       <pads>
743         <caps>
744           <name>sink</name>
745           <direction>sink</direction>
746           <presence>always</presence>
747           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
748         </caps>
749         <caps>
750           <name>src</name>
751           <direction>source</direction>
752           <presence>always</presence>
753           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
754         </caps>
755       </pads>
756     </element>
757     <element>
758       <name>gloverlaycompositor</name>
759       <longname>OpenGL overlaying filter</longname>
760       <class>Filter/Effect</class>
761       <description>Flatten a stream containing GstVideoOverlayCompositionMeta</description>
762       <author>&lt;matthew@centricular.com&gt;</author>
763       <pads>
764         <caps>
765           <name>sink</name>
766           <direction>sink</direction>
767           <presence>always</presence>
768           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle }; 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, rectangle }; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle }</details>
769         </caps>
770         <caps>
771           <name>src</name>
772           <direction>source</direction>
773           <presence>always</presence>
774           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle }; 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, rectangle }; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle }</details>
775         </caps>
776       </pads>
777     </element>
778     <element>
779       <name>glshader</name>
780       <longname>OpenGL fragment shader filter</longname>
781       <class>Filter/Effect</class>
782       <description>Perform operations with a GLSL shader</description>
783       <author>&lt;matthew@centricular.com&gt;</author>
784       <pads>
785         <caps>
786           <name>sink</name>
787           <direction>sink</direction>
788           <presence>always</presence>
789           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
790         </caps>
791         <caps>
792           <name>src</name>
793           <direction>source</direction>
794           <presence>always</presence>
795           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
796         </caps>
797       </pads>
798     </element>
799     <element>
800       <name>glsinkbin</name>
801       <longname>GL Sink Bin</longname>
802       <class>Sink/Video</class>
803       <description>Infrastructure to process GL textures</description>
804       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
805       <pads>
806         <caps>
807           <name>sink</name>
808           <direction>sink</direction>
809           <presence>always</presence>
810           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
811         </caps>
812       </pads>
813     </element>
814     <element>
815       <name>glsrcbin</name>
816       <longname>GL Src Bin</longname>
817       <class>Src/Video</class>
818       <description>Infrastructure to process GL textures</description>
819       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
820       <pads>
821         <caps>
822           <name>src</name>
823           <direction>source</direction>
824           <presence>always</presence>
825           <details>video/x-raw(ANY)</details>
826         </caps>
827       </pads>
828     </element>
829     <element>
830       <name>glstereomix</name>
831       <longname>OpenGL stereo video combiner</longname>
832       <class>Filter/Effect/Video</class>
833       <description>OpenGL stereo video combiner</description>
834       <author>Jan Schmidt &lt;jan@centricular.com&gt;</author>
835       <pads>
836         <caps>
837           <name>sink_%u</name>
838           <direction>sink</direction>
839           <presence>request</presence>
840           <details>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; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
841         </caps>
842         <caps>
843           <name>src</name>
844           <direction>source</direction>
845           <presence>always</presence>
846           <details>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; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
847         </caps>
848       </pads>
849     </element>
850     <element>
851       <name>glstereosplit</name>
852       <longname>GLStereoSplit</longname>
853       <class>Codec/Converter</class>
854       <description>Splits a stereoscopic stream into separate left/right streams</description>
855       <author>Jan Schmidt &lt;jan@centricular.com&gt;
856 Matthew Waters &lt;matthew@centricular.com&gt;</author>
857       <pads>
858         <caps>
859           <name>sink</name>
860           <direction>sink</direction>
861           <presence>always</presence>
862           <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
863         </caps>
864         <caps>
865           <name>left</name>
866           <direction>source</direction>
867           <presence>always</presence>
868           <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
869         </caps>
870         <caps>
871           <name>right</name>
872           <direction>source</direction>
873           <presence>always</presence>
874           <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
875         </caps>
876       </pads>
877     </element>
878     <element>
879       <name>gltestsrc</name>
880       <longname>Video test source</longname>
881       <class>Source/Video</class>
882       <description>Creates a test video stream</description>
883       <author>David A. Schleef &lt;ds@schleef.org&gt;</author>
884       <pads>
885         <caps>
886           <name>src</name>
887           <direction>source</direction>
888           <presence>always</presence>
889           <details>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</details>
890         </caps>
891       </pads>
892     </element>
893     <element>
894       <name>glupload</name>
895       <longname>OpenGL uploader</longname>
896       <class>Filter/Video</class>
897       <description>Uploads data into OpenGL</description>
898       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
899       <pads>
900         <caps>
901           <name>sink</name>
902           <direction>sink</direction>
903           <presence>always</presence>
904           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
905         </caps>
906         <caps>
907           <name>src</name>
908           <direction>source</direction>
909           <presence>always</presence>
910           <details>video/x-raw(ANY)</details>
911         </caps>
912       </pads>
913     </element>
914     <element>
915       <name>glvideomixer</name>
916       <longname>OpenGL video_mixer bin</longname>
917       <class>Bin/Filter/Effect/Video/Compositor</class>
918       <description>OpenGL video_mixer bin</description>
919       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
920       <pads>
921         <caps>
922           <name>sink_%u</name>
923           <direction>sink</direction>
924           <presence>request</presence>
925           <details>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
926         </caps>
927         <caps>
928           <name>src</name>
929           <direction>source</direction>
930           <presence>always</presence>
931           <details>video/x-raw(ANY)</details>
932         </caps>
933       </pads>
934     </element>
935     <element>
936       <name>glvideomixerelement</name>
937       <longname>OpenGL video_mixer</longname>
938       <class>Filter/Effect/Video/Compositor</class>
939       <description>OpenGL video_mixer</description>
940       <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
941       <pads>
942         <caps>
943           <name>sink_%u</name>
944           <direction>sink</direction>
945           <presence>request</presence>
946           <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
947         </caps>
948         <caps>
949           <name>src</name>
950           <direction>source</direction>
951           <presence>always</presence>
952           <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
953         </caps>
954       </pads>
955     </element>
956     <element>
957       <name>glviewconvert</name>
958       <longname>OpenGL Multiview/3D conversion filter</longname>
959       <class>Filter</class>
960       <description>Convert stereoscopic/multiview video formats</description>
961       <author>Jan Schmidt &lt;jan@centricular.com&gt;
962 Matthew Waters &lt;matthew@centricular.com&gt;</author>
963       <pads>
964         <caps>
965           <name>sink</name>
966           <direction>sink</direction>
967           <presence>always</presence>
968           <details>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D; 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</details>
969         </caps>
970         <caps>
971           <name>src</name>
972           <direction>source</direction>
973           <presence>always</presence>
974           <details>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; video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
975         </caps>
976       </pads>
977     </element>
978   </elements>
979 </plugin>