[Bug 764873] gldeinterlace: enable this plugin on OpenGL ES using a simple deinterlace fragment shader
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Apr 11 07:32:22 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=764873
Matthew Waters (ystreet00) <ystreet00 at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #325696|none |needs-work
status| |
--- Comment #2 from Matthew Waters (ystreet00) <ystreet00 at gmail.com> ---
Review of attachment 325696:
--> (https://bugzilla.gnome.org/review?bug=764873&attachment=325696)
A couple of things.
It's possible to build against both the OpenGL desktop and GLES API's. As such
the GST_GL_HAVE OPENGL define is not the correct way to conditionally check for
the GL API. Use gst_gl_context_get_gl_api() instead.
Also, the current deinterlace shader is trivial to port to GLES2. Any reason
you did not do that?
::: ext/gl/gstgldeinterlace.c
@@ +69,2 @@
/* *INDENT-OFF* */
+const gchar *vertex_default =
You should use the default vertex string, gst_gl_shader_string_vertex_default
instead of duplicating it here.
@@ +157,3 @@
+
+const gchar *deinterlace_fragment_source_gles2 =
+ "precision mediump float;\n"
Should add #ifdef GL_ES, #endif around the precision qualifier.
@@ +269,2 @@
//blocking call, wait the opengl thread has compiled the shader
+#if GST_GL_HAVE_OPENGL
This won't always do what you want. Use gst_gl_context_get_gl_api() instead.
@@ +326,3 @@
+ gst_gl_shader_use (deinterlace_filter->shader);
+
+#if GST_GL_HAVE_OPENGL
ditto
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list