• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.16.2</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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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;
81Matthew 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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;
856Matthew 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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, VUYA, 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;
962Matthew 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>