[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 08:51:46 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=764873

--- Comment #3 from Haihua Hu <jared.hu at nxp.com> ---
(In reply to Matthew Waters (ystreet00) from comment #2)
> Review of attachment 325696 [details] [review]:
> 
> 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?

We have tried the greedyh_fragment_source and it can run on GLES2, but the
performance is not good on i.Mx6QP. 
We need this plugin to do deinterlace by GPU and create the simple one. It got
good results. I wonder if we can enable this plugin on GLES2 just like
gleffects, let user to choose the deinterlace shader. In this way, we can add
more deinterlace shader.

> 
> ::: 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