• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>GstGLFilter: GStreamer Base Plugins 1.0 Library Reference Manual</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
8<link rel="up" href="gl.html" title="OpenGL Integration Library">
9<link rel="prev" href="gst-plugins-base-libs-GstEGLImage.html" title="GstEGLImage">
10<link rel="next" href="GstGLFramebuffer.html" title="GstGLFramebuffer">
11<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
12<link rel="stylesheet" href="style.css" type="text/css">
13</head>
14<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16<td width="100%" align="left" class="shortcuts">
17<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span18                  <a href="#GstGLFilter.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span19                  <a href="#GstGLFilter.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20</td>
21<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22<td><a accesskey="u" href="gl.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23<td><a accesskey="p" href="gst-plugins-base-libs-GstEGLImage.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24<td><a accesskey="n" href="GstGLFramebuffer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25</tr></table>
26<div class="refentry">
27<a name="GstGLFilter"></a><div class="titlepage"></div>
28<div class="refnamediv"><table width="100%"><tr>
29<td valign="top">
30<h2><span class="refentrytitle"><a name="GstGLFilter.top_of_page"></a>GstGLFilter</span></h2>
31<p>GstGLFilter — GstBaseTransform subclass for dealing with RGBA textures</p>
32</td>
33<td class="gallery_image" valign="top" align="right"></td>
34</tr></table></div>
35<div class="refsect1">
36<a name="GstGLFilter.functions"></a><h2>Functions</h2>
37<div class="informaltable"><table class="informaltable" width="100%" border="0">
38<colgroup>
39<col width="150px" class="functions_return">
40<col class="functions_name">
41</colgroup>
42<tbody>
43<tr>
44<td class="function_type">
45<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
46</td>
47<td class="function_name">
48<span class="c_punctuation">(</span><a class="link" href="GstGLFilter.html#GstGLFilterRenderFunc" title="GstGLFilterRenderFunc ()">*GstGLFilterRenderFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
49</td>
50</tr>
51<tr>
52<td class="function_type">
53<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
54</td>
55<td class="function_name">
56<a class="link" href="GstGLFilter.html#gst-gl-filter-render-to-target" title="gst_gl_filter_render_to_target ()">gst_gl_filter_render_to_target</a> <span class="c_punctuation">()</span>
57</td>
58</tr>
59<tr>
60<td class="function_type">
61<span class="returnvalue">void</span>
62</td>
63<td class="function_name">
64<a class="link" href="GstGLFilter.html#gst-gl-filter-render-to-target-with-shader" title="gst_gl_filter_render_to_target_with_shader ()">gst_gl_filter_render_to_target_with_shader</a> <span class="c_punctuation">()</span>
65</td>
66</tr>
67<tr>
68<td class="function_type">
69<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
70</td>
71<td class="function_name">
72<a class="link" href="GstGLFilter.html#gst-gl-filter-filter-texture" title="gst_gl_filter_filter_texture ()">gst_gl_filter_filter_texture</a> <span class="c_punctuation">()</span>
73</td>
74</tr>
75<tr>
76<td class="function_type">
77<span class="returnvalue">void</span>
78</td>
79<td class="function_name">
80<a class="link" href="GstGLFilter.html#gst-gl-filter-draw-fullscreen-quad" title="gst_gl_filter_draw_fullscreen_quad ()">gst_gl_filter_draw_fullscreen_quad</a> <span class="c_punctuation">()</span>
81</td>
82</tr>
83<tr>
84<td class="function_type">
85<span class="returnvalue">void</span>
86</td>
87<td class="function_name">
88<a class="link" href="GstGLFilter.html#gst-gl-filter-add-rgba-pad-templates" title="gst_gl_filter_add_rgba_pad_templates ()">gst_gl_filter_add_rgba_pad_templates</a> <span class="c_punctuation">()</span>
89</td>
90</tr>
91</tbody>
92</table></div>
93</div>
94<div class="refsect1">
95<a name="GstGLFilter.other"></a><h2>Types and Values</h2>
96<div class="informaltable"><table class="informaltable" width="100%" border="0">
97<colgroup>
98<col width="150px" class="name">
99<col class="description">
100</colgroup>
101<tbody>
102<tr>
103<td class="datatype_keyword"> </td>
104<td class="function_name"><a class="link" href="GstGLFilter.html#GstGLFilter-struct" title="GstGLFilter">GstGLFilter</a></td>
105</tr>
106<tr>
107<td class="datatype_keyword"> </td>
108<td class="function_name"><a class="link" href="GstGLFilter.html#GstGLFilterClass" title="GstGLFilterClass">GstGLFilterClass</a></td>
109</tr>
110</tbody>
111</table></div>
112</div>
113<div class="refsect1">
114<a name="GstGLFilter.object-hierarchy"></a><h2>Object Hierarchy</h2>
115<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
116    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
117        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a>
118            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a>
119                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
120                    <span class="lineart">╰──</span> <a class="link" href="GstGLBaseFilter.html" title="GstGLBaseFilter">GstGLBaseFilter</a>
121                        <span class="lineart">╰──</span> GstGLFilter
122</pre>
123</div>
124<div class="refsect1">
125<a name="GstGLFilter.includes"></a><h2>Includes</h2>
126<pre class="synopsis">#include &lt;gst/gl/gl.h&gt;
127</pre>
128</div>
129<div class="refsect1">
130<a name="GstGLFilter.description"></a><h2>Description</h2>
131<p><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> helps to implement simple OpenGL filter elements taking a
132single input and producing a single output with a <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="type">GstGLFramebuffer</span></a></p>
133</div>
134<div class="refsect1">
135<a name="GstGLFilter.functions_details"></a><h2>Functions</h2>
136<div class="refsect2">
137<a name="GstGLFilterRenderFunc"></a><h3>GstGLFilterRenderFunc ()</h3>
138<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
139<span class="c_punctuation">(</span>*GstGLFilterRenderFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>,
140                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *in_tex</code></em>,
141                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
142<div class="refsect3">
143<a name="GstGLFilterRenderFunc.parameters"></a><h4>Parameters</h4>
144<div class="informaltable"><table class="informaltable" width="100%" border="0">
145<colgroup>
146<col width="150px" class="parameters_name">
147<col class="parameters_description">
148<col width="200px" class="parameters_annotations">
149</colgroup>
150<tbody>
151<tr>
152<td class="parameter_name"><p>filter</p></td>
153<td class="parameter_description"><p>the <a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
154<td class="parameter_annotations"> </td>
155</tr>
156<tr>
157<td class="parameter_name"><p>in_tex</p></td>
158<td class="parameter_description"><p>the input <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> to render</p></td>
159<td class="parameter_annotations"> </td>
160</tr>
161<tr>
162<td class="parameter_name"><p>user_data</p></td>
163<td class="parameter_description"><p>user data</p></td>
164<td class="parameter_annotations"> </td>
165</tr>
166</tbody>
167</table></div>
168</div>
169<div class="refsect3">
170<a name="GstGLFilterRenderFunc.returns"></a><h4>Returns</h4>
171<p> whether the render succeeded</p>
172</div>
173<p class="since">Since: <a class="link" href="ix06.html#api-index-1.10">1.10</a></p>
174</div>
175<hr>
176<div class="refsect2">
177<a name="gst-gl-filter-render-to-target"></a><h3>gst_gl_filter_render_to_target ()</h3>
178<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
179gst_gl_filter_render_to_target (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>,
180                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *input</code></em>,
181                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *output</code></em>,
182                                <em class="parameter"><code><a class="link" href="GstGLFilter.html#GstGLFilterRenderFunc" title="GstGLFilterRenderFunc ()"><span class="type">GstGLFilterRenderFunc</span></a> func</code></em>,
183                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
184<p>Transforms <em class="parameter"><code>input</code></em>
185 into <em class="parameter"><code>output</code></em>
186 using <em class="parameter"><code>func</code></em>
187 on through FBO.</p>
188<div class="refsect3">
189<a name="gst-gl-filter-render-to-target.parameters"></a><h4>Parameters</h4>
190<div class="informaltable"><table class="informaltable" width="100%" border="0">
191<colgroup>
192<col width="150px" class="parameters_name">
193<col class="parameters_description">
194<col width="200px" class="parameters_annotations">
195</colgroup>
196<tbody>
197<tr>
198<td class="parameter_name"><p>filter</p></td>
199<td class="parameter_description"><p>a <a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
200<td class="parameter_annotations"> </td>
201</tr>
202<tr>
203<td class="parameter_name"><p>input</p></td>
204<td class="parameter_description"><p>the input texture</p></td>
205<td class="parameter_annotations"> </td>
206</tr>
207<tr>
208<td class="parameter_name"><p>output</p></td>
209<td class="parameter_description"><p>the output texture</p></td>
210<td class="parameter_annotations"> </td>
211</tr>
212<tr>
213<td class="parameter_name"><p>func</p></td>
214<td class="parameter_description"><p>the function to transform <em class="parameter"><code>input</code></em>
215into <em class="parameter"><code>output</code></em>
216. called with <em class="parameter"><code>data</code></em>
217. </p></td>
218<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
219</tr>
220<tr>
221<td class="parameter_name"><p>data</p></td>
222<td class="parameter_description"><p>the data associated with <em class="parameter"><code>func</code></em>
223. </p></td>
224<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
225</tr>
226</tbody>
227</table></div>
228</div>
229<div class="refsect3">
230<a name="gst-gl-filter-render-to-target.returns"></a><h4>Returns</h4>
231<p> the return value of <em class="parameter"><code>func</code></em>
232</p>
233</div>
234<p class="since">Since: <a class="link" href="ix06.html#api-index-1.10">1.10</a></p>
235</div>
236<hr>
237<div class="refsect2">
238<a name="gst-gl-filter-render-to-target-with-shader"></a><h3>gst_gl_filter_render_to_target_with_shader ()</h3>
239<pre class="programlisting"><span class="returnvalue">void</span>
240gst_gl_filter_render_to_target_with_shader
241                               (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>,
242                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *input</code></em>,
243                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *output</code></em>,
244                                <em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
245<p>Transforms <em class="parameter"><code>input</code></em>
246 into <em class="parameter"><code>output</code></em>
247 using <em class="parameter"><code>shader</code></em>
248 with a FBO.</p>
249<p>See also: <a class="link" href="GstGLFilter.html#gst-gl-filter-render-to-target" title="gst_gl_filter_render_to_target ()"><code class="function">gst_gl_filter_render_to_target()</code></a></p>
250<div class="refsect3">
251<a name="gst-gl-filter-render-to-target-with-shader.parameters"></a><h4>Parameters</h4>
252<div class="informaltable"><table class="informaltable" width="100%" border="0">
253<colgroup>
254<col width="150px" class="parameters_name">
255<col class="parameters_description">
256<col width="200px" class="parameters_annotations">
257</colgroup>
258<tbody>
259<tr>
260<td class="parameter_name"><p>filter</p></td>
261<td class="parameter_description"><p>a <a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
262<td class="parameter_annotations"> </td>
263</tr>
264<tr>
265<td class="parameter_name"><p>input</p></td>
266<td class="parameter_description"><p>the input texture</p></td>
267<td class="parameter_annotations"> </td>
268</tr>
269<tr>
270<td class="parameter_name"><p>output</p></td>
271<td class="parameter_description"><p>the output texture</p></td>
272<td class="parameter_annotations"> </td>
273</tr>
274<tr>
275<td class="parameter_name"><p>shader</p></td>
276<td class="parameter_description"><p>the shader to use.</p></td>
277<td class="parameter_annotations"> </td>
278</tr>
279</tbody>
280</table></div>
281</div>
282<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p>
283</div>
284<hr>
285<div class="refsect2">
286<a name="gst-gl-filter-filter-texture"></a><h3>gst_gl_filter_filter_texture ()</h3>
287<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
288gst_gl_filter_filter_texture (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>,
289                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *inbuf</code></em>,
290                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *outbuf</code></em>);</pre>
291<p>Calls filter_texture vfunc with correctly mapped <a href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory"><span class="type">GstGLMemorys</span></a></p>
292<div class="refsect3">
293<a name="gst-gl-filter-filter-texture.parameters"></a><h4>Parameters</h4>
294<div class="informaltable"><table class="informaltable" width="100%" border="0">
295<colgroup>
296<col width="150px" class="parameters_name">
297<col class="parameters_description">
298<col width="200px" class="parameters_annotations">
299</colgroup>
300<tbody>
301<tr>
302<td class="parameter_name"><p>filter</p></td>
303<td class="parameter_description"><p>a <a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
304<td class="parameter_annotations"> </td>
305</tr>
306<tr>
307<td class="parameter_name"><p>inbuf</p></td>
308<td class="parameter_description"><p>an input buffer</p></td>
309<td class="parameter_annotations"> </td>
310</tr>
311<tr>
312<td class="parameter_name"><p>outbuf</p></td>
313<td class="parameter_description"><p>an output buffer</p></td>
314<td class="parameter_annotations"> </td>
315</tr>
316</tbody>
317</table></div>
318</div>
319<div class="refsect3">
320<a name="gst-gl-filter-filter-texture.returns"></a><h4>Returns</h4>
321<p> whether the transformation succeeded</p>
322</div>
323<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p>
324</div>
325<hr>
326<div class="refsect2">
327<a name="gst-gl-filter-draw-fullscreen-quad"></a><h3>gst_gl_filter_draw_fullscreen_quad ()</h3>
328<pre class="programlisting"><span class="returnvalue">void</span>
329gst_gl_filter_draw_fullscreen_quad (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>);</pre>
330<p>Render a fullscreen quad using the current GL state.  The only GL state this
331modifies is the necessary vertex/index buffers and, if necessary, a
332Vertex Array Object for drawing a fullscreen quad.  Framebuffer state,
333any shaders, viewport state, etc must be setup by the caller.</p>
334<div class="refsect3">
335<a name="gst-gl-filter-draw-fullscreen-quad.parameters"></a><h4>Parameters</h4>
336<div class="informaltable"><table class="informaltable" width="100%" border="0">
337<colgroup>
338<col width="150px" class="parameters_name">
339<col class="parameters_description">
340<col width="200px" class="parameters_annotations">
341</colgroup>
342<tbody><tr>
343<td class="parameter_name"><p>filter</p></td>
344<td class="parameter_description"><p>a <a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
345<td class="parameter_annotations"> </td>
346</tr></tbody>
347</table></div>
348</div>
349<p class="since">Since: <a class="link" href="ix06.html#api-index-1.10">1.10</a></p>
350</div>
351<hr>
352<div class="refsect2">
353<a name="gst-gl-filter-add-rgba-pad-templates"></a><h3>gst_gl_filter_add_rgba_pad_templates ()</h3>
354<pre class="programlisting"><span class="returnvalue">void</span>
355gst_gl_filter_add_rgba_pad_templates (<em class="parameter"><code><a class="link" href="GstGLFilter.html#GstGLFilterClass" title="GstGLFilterClass"><span class="type">GstGLFilterClass</span></a> *klass</code></em>);</pre>
356</div>
357</div>
358<div class="refsect1">
359<a name="GstGLFilter.other_details"></a><h2>Types and Values</h2>
360<div class="refsect2">
361<a name="GstGLFilter-struct"></a><h3>GstGLFilter</h3>
362<pre class="programlisting">typedef struct {
363  GstVideoInfo       in_info;
364  GstVideoInfo       out_info;
365  GstGLTextureTarget in_texture_target;
366  GstGLTextureTarget out_texture_target;
367
368  GstCaps           *out_caps;
369
370  /* protected */
371  GstGLFramebuffer  *fbo;
372} GstGLFilter;
373</pre>
374<div class="refsect3">
375<a name="GstGLFilter.members"></a><h4>Members</h4>
376<div class="informaltable"><table class="informaltable" width="100%" border="0">
377<colgroup>
378<col width="300px" class="struct_members_name">
379<col class="struct_members_description">
380<col width="200px" class="struct_members_annotations">
381</colgroup>
382<tbody>
383<tr>
384<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstGLFilter-struct.in-info"></a>in_info</code></em>;</p></td>
385<td class="struct_member_description"><p>the video info for input buffers</p></td>
386<td class="struct_member_annotations"> </td>
387</tr>
388<tr>
389<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstGLFilter-struct.out-info"></a>out_info</code></em>;</p></td>
390<td class="struct_member_description"><p>the video info for output buffers</p></td>
391<td class="struct_member_annotations"> </td>
392</tr>
393<tr>
394<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> <em class="structfield"><code><a name="GstGLFilter-struct.in-texture-target"></a>in_texture_target</code></em>;</p></td>
395<td class="struct_member_description"><p>The texture target of the input buffers (usually 2D)</p></td>
396<td class="struct_member_annotations"> </td>
397</tr>
398<tr>
399<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> <em class="structfield"><code><a name="GstGLFilter-struct.out-texture-target"></a>out_texture_target</code></em>;</p></td>
400<td class="struct_member_description"><p>The texture target of the output buffers (usually 2D)</p></td>
401<td class="struct_member_annotations"> </td>
402</tr>
403<tr>
404<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *<em class="structfield"><code><a name="GstGLFilter-struct.out-caps"></a>out_caps</code></em>;</p></td>
405<td class="struct_member_description"><p>the output <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
406<td class="struct_member_annotations"> </td>
407</tr>
408<tr>
409<td class="struct_member_name"><p><a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="type">GstGLFramebuffer</span></a> *<em class="structfield"><code><a name="GstGLFilter-struct.fbo"></a>fbo</code></em>;</p></td>
410<td class="struct_member_description"><p><a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="type">GstGLFramebuffer</span></a> object used for transformations (only for subclass usage)</p></td>
411<td class="struct_member_annotations"> </td>
412</tr>
413</tbody>
414</table></div>
415</div>
416</div>
417<hr>
418<div class="refsect2">
419<a name="GstGLFilterClass"></a><h3>GstGLFilterClass</h3>
420<pre class="programlisting">typedef struct {
421  GstGLBaseFilterClass parent_class;
422
423  gboolean (*set_caps)          (GstGLFilter* filter, GstCaps* incaps, GstCaps* outcaps);
424  gboolean (*filter)            (GstGLFilter *filter, GstBuffer *inbuf, GstBuffer *outbuf);
425  gboolean (*filter_texture)    (GstGLFilter *filter, GstGLMemory *in_tex, GstGLMemory *out_tex);
426  gboolean (*init_fbo)          (GstGLFilter *filter);
427
428  GstCaps *(*transform_internal_caps) (GstGLFilter *filter,
429    GstPadDirection direction, GstCaps * caps, GstCaps * filter_caps);
430} GstGLFilterClass;
431</pre>
432<div class="refsect3">
433<a name="GstGLFilterClass.members"></a><h4>Members</h4>
434<div class="informaltable"><table class="informaltable" width="100%" border="0">
435<colgroup>
436<col width="300px" class="struct_members_name">
437<col class="struct_members_description">
438<col width="200px" class="struct_members_annotations">
439</colgroup>
440<tbody>
441<tr>
442<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.set-caps"></a>set_caps</code></em> ()</p></td>
443<td class="struct_member_description"><p>mirror from <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a></p></td>
444<td class="struct_member_annotations"> </td>
445</tr>
446<tr>
447<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.filter"></a>filter</code></em> ()</p></td>
448<td class="struct_member_description"><p>perform operations on the input and output buffers.  In general,
449you should avoid using this method if at all possible. One valid
450use-case for using this is keeping previous buffers for future calculations.
451Note: If <em class="parameter"><code>filter</code></em>
452exists, then <em class="parameter"><code>filter_texture</code></em>
453is not run</p></td>
454<td class="struct_member_annotations"> </td>
455</tr>
456<tr>
457<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.filter-texture"></a>filter_texture</code></em> ()</p></td>
458<td class="struct_member_description"><p>given <em class="parameter"><code>in_tex</code></em>
459, transform it into <em class="parameter"><code>out_tex</code></em>
460.  Not used
461if <em class="parameter"><code>filter</code></em>
462exists</p></td>
463<td class="struct_member_annotations"> </td>
464</tr>
465<tr>
466<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.init-fbo"></a>init_fbo</code></em> ()</p></td>
467<td class="struct_member_description"><p>perform initialization when the Framebuffer object is created</p></td>
468<td class="struct_member_annotations"> </td>
469</tr>
470<tr>
471<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.transform-internal-caps"></a>transform_internal_caps</code></em> ()</p></td>
472<td class="struct_member_description"><p>Perform sub-class specific modifications of the
473caps to be processed between upload on input and before download for output.</p></td>
474<td class="struct_member_annotations"> </td>
475</tr>
476</tbody>
477</table></div>
478</div>
479</div>
480</div>
481<div class="refsect1">
482<a name="GstGLFilter.see-also"></a><h2>See Also</h2>
483<p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a>, <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>, <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="type">GstGLFramebuffer</span></a></p>
484</div>
485</div>
486<div class="footer">
487<hr>Generated by GTK-Doc V1.28</div>
488</body>
489</html>