diff options
Diffstat (limited to 'recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0012-glcolorconvert-convert-YUV-to-RGB-use-directviv.patch')
-rw-r--r-- | recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0012-glcolorconvert-convert-YUV-to-RGB-use-directviv.patch | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0012-glcolorconvert-convert-YUV-to-RGB-use-directviv.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0012-glcolorconvert-convert-YUV-to-RGB-use-directviv.patch deleted file mode 100644 index a030657..0000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0012-glcolorconvert-convert-YUV-to-RGB-use-directviv.patch +++ /dev/null @@ -1,168 +0,0 @@ -From 1808102fb3fce09f8f905364ec62595a48fb0753 Mon Sep 17 00:00:00 2001 -From: Haihua Hu <b55597@freescale.com> -Date: Thu, 25 Feb 2016 13:53:20 +0800 -Subject: [PATCH 12/26] glcolorconvert: convert YUV to RGB use directviv - -Add a property "disable_passthrough" in glcolorconvert for enable/disable passthrough. -When need convert YUV to RGB with directviv, set it to be TRUE. - -Upstream-Status: Inappropriate [i.MX specific] - -Signed-off-by: Haihua Hu <b55597@freescale.com> - -Conflicts: - gst-libs/gst/gl/gstglcolorconvert.c ---- - ext/gl/gstglcolorconvertelement.c | 70 +++++++++++++++++++++++++++++++++++++ - ext/gl/gstglcolorconvertelement.h | 1 + - gst-libs/gst/gl/gstglcolorconvert.c | 6 +++- - 3 files changed, 76 insertions(+), 1 deletion(-) - -diff --git a/ext/gl/gstglcolorconvertelement.c b/ext/gl/gstglcolorconvertelement.c -index 642b494..5e26f84 100644 ---- a/ext/gl/gstglcolorconvertelement.c -+++ b/ext/gl/gstglcolorconvertelement.c -@@ -35,6 +35,14 @@ G_DEFINE_TYPE_WITH_CODE (GstGLColorConvertElement, gst_gl_color_convert_element, - "glconvertelement", 0, "convert"); - ); - -+enum -+{ -+ GL_COLOR_CONVERT_PROP_0, -+ GL_COLOR_CONVERT_PROP_DISABLE_PASSTHROUGH -+}; -+ -+#define DISABLE_PASSTHROUGH_DAFAULT FALSE -+ - static gboolean gst_gl_color_convert_element_set_caps (GstBaseTransform * bt, - GstCaps * in_caps, GstCaps * out_caps); - static GstCaps *gst_gl_color_convert_element_transform_caps (GstBaseTransform * -@@ -54,6 +62,15 @@ static GstFlowReturn gst_gl_color_convert_element_transform (GstBaseTransform * - static GstCaps *gst_gl_color_convert_element_fixate_caps (GstBaseTransform * - bt, GstPadDirection direction, GstCaps * caps, GstCaps * othercaps); - -+static void gst_gl_color_convert_set_property (GObject *object, -+ guint prop_id, -+ const GValue *value, -+ GParamSpec *pspec); -+static void gst_gl_color_convert_get_property (GObject *object, -+ guint prop_id, -+ GValue *value, -+ GParamSpec *pspec); -+ - static GstStaticPadTemplate gst_gl_color_convert_element_src_pad_template = - GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, -@@ -89,6 +106,10 @@ gst_gl_color_convert_element_class_init (GstGLColorConvertElementClass * klass) - { - GstBaseTransformClass *bt_class = GST_BASE_TRANSFORM_CLASS (klass); - GstElementClass *element_class = GST_ELEMENT_CLASS (klass); -+ GObjectClass *object_class = G_OBJECT_CLASS (klass); -+ -+ object_class->set_property = gst_gl_color_convert_set_property; -+ object_class->get_property = gst_gl_color_convert_get_property; - - bt_class->transform_caps = gst_gl_color_convert_element_transform_caps; - bt_class->set_caps = gst_gl_color_convert_element_set_caps; -@@ -108,6 +129,13 @@ gst_gl_color_convert_element_class_init (GstGLColorConvertElementClass * klass) - gst_element_class_add_static_pad_template (element_class, - &gst_gl_color_convert_element_sink_pad_template); - -+ g_object_class_install_property (object_class, GL_COLOR_CONVERT_PROP_DISABLE_PASSTHROUGH, -+ g_param_spec_boolean ("disable_passthrough", -+ "Disable passthrough", -+ "Disable passthrough mode", -+ DISABLE_PASSTHROUGH_DAFAULT, -+ G_PARAM_READWRITE)); -+ - gst_element_class_set_metadata (element_class, - "OpenGL color converter", "Filter/Converter/Video", - "Converts between color spaces using OpenGL shaders", -@@ -119,6 +147,41 @@ gst_gl_color_convert_element_init (GstGLColorConvertElement * convert) - { - gst_base_transform_set_prefer_passthrough (GST_BASE_TRANSFORM (convert), - TRUE); -+ convert->disable_passthrough = FALSE; -+} -+ -+static void -+gst_gl_color_convert_set_property (GObject *object, -+ guint prop_id, -+ const GValue *value, -+ GParamSpec *pspec) -+{ -+ GstGLColorConvertElement *convert = GST_GL_COLOR_CONVERT_ELEMENT (object); -+ switch (prop_id) { -+ case GL_COLOR_CONVERT_PROP_DISABLE_PASSTHROUGH: -+ convert->disable_passthrough = g_value_get_boolean (value); -+ break; -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -+ break; -+ } -+} -+ -+static void -+gst_gl_color_convert_get_property (GObject *object, -+ guint prop_id, -+ GValue *value, -+ GParamSpec *pspec) -+{ -+ GstGLColorConvertElement *convert = GST_GL_COLOR_CONVERT_ELEMENT (object); -+ switch (prop_id) { -+ case GL_COLOR_CONVERT_PROP_DISABLE_PASSTHROUGH: -+ g_value_set_boolean (value, convert->disable_passthrough); -+ break; -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -+ break; -+ } - } - - static gboolean -@@ -133,6 +196,13 @@ gst_gl_color_convert_element_set_caps (GstBaseTransform * bt, - if (convert->convert) - gst_gl_color_convert_set_caps (convert->convert, in_caps, out_caps); - -+ if(gst_base_transform_is_passthrough (bt) && convert->disable_passthrough){ -+ /* if in passthrough mode and disable_passthrough is set to true, -+ * set passthrough to FALSE*/ -+ GST_DEBUG_OBJECT(convert, "Disable passthrough mode"); -+ gst_base_transform_set_passthrough(bt, FALSE); -+ } -+ - return TRUE; - } - -diff --git a/ext/gl/gstglcolorconvertelement.h b/ext/gl/gstglcolorconvertelement.h -index 2a0dd1d..5cdbd3a 100644 ---- a/ext/gl/gstglcolorconvertelement.h -+++ b/ext/gl/gstglcolorconvertelement.h -@@ -47,6 +47,7 @@ struct _GstGLColorConvertElement - GstGLColorConvert *convert; - GstCaps *in_caps; - GstCaps *out_caps; -+ gboolean disable_passthrough; - }; - - struct _GstGLColorConvertElementClass -diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c -index 89edb16..adf5a6e 100644 ---- a/gst-libs/gst/gl/gstglcolorconvert.c -+++ b/gst-libs/gst/gl/gstglcolorconvert.c -@@ -718,7 +718,11 @@ _gst_gl_color_convert_set_caps_unlocked (GstGLColorConvert * convert, - convert->priv->to_texture_target = to_target; - convert->initted = FALSE; - -- convert->passthrough = passthrough; -+ /* We may disable passthrough via an external property -+ * By the way, when glconvertelement is in passthrough mode, -+ * the plugin will not call gst_gl_color_convert_perform().*/ -+ -+ //convert->passthrough = passthrough; - #ifndef GST_DISABLE_GST_DEBUG - if (G_UNLIKELY (convert->passthrough)) - GST_DEBUG_OBJECT (convert, --- -1.9.1 - |