From f0867686a996fb47642311001fdc9a0bb0d56233 Mon Sep 17 00:00:00 2001 From: Yuqing Zhu Date: Fri, 29 Jan 2016 17:41:55 +0800 Subject: gstreamer1.0-plugins-base: Fix IMXCameraApp image time cannot display issue. IMXCameraApp: When Enabled "save time to image" item, preview, find the time can not display completely. As IPU need 8 pixels alignment, add one workaround in base text overlay to generate 8 pixels alignment text video buffer. The side effect should cause all text a little smaller. Signed-off-by: Yuqing Zhu Signed-off-by: Otavio Salvador --- ...-Linux_MX6QP_ARD-IMXCameraApp-When-Enable.patch | 58 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-plugins-base_%.bbappend | 8 ++- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100755 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-7030-Linux_MX6QP_ARD-IMXCameraApp-When-Enable.patch diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-7030-Linux_MX6QP_ARD-IMXCameraApp-When-Enable.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-7030-Linux_MX6QP_ARD-IMXCameraApp-When-Enable.patch new file mode 100755 index 00000000..1f54fc19 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-7030-Linux_MX6QP_ARD-IMXCameraApp-When-Enable.patch @@ -0,0 +1,58 @@ +From f19e83a1a69a3dbbeb16dc4bcee3fb87317bb65b Mon Sep 17 00:00:00 2001 +From: Song Bing +Date: Mon, 11 Jan 2016 14:51:17 +0800 +Subject: [PATCH] MMFMWK-7030 [Linux_MX6QP_ARD]IMXCameraApp:When Enabled "save + time to image" item, preview, find the time can not display + completely. 100% + +As IPU need 8 pixels alignment, add one workaround in base text overlay +to generate 8 pixels alignment text video buffer. The side effect should +cause all text a little smaller. + +Upstream-Status: Inappropriate [i.MX specific] + +Signed-off-by: Song Bing b06498@freescale.com +--- + ext/pango/gstbasetextoverlay.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c +index 3e98aa1..de64c92 100755 +--- a/ext/pango/gstbasetextoverlay.c ++++ b/ext/pango/gstbasetextoverlay.c +@@ -1545,7 +1545,7 @@ gst_base_text_overlay_render_pangocairo (GstBaseTextOverlay * overlay, + gint unscaled_width, unscaled_height; + gint width, height; + gboolean full_width = FALSE; +- double scalef = 1.0; ++ double scalef = 1.0, scalefx, scalefy; + double a, r, g, b; + gdouble shadow_offset = 0.0; + gdouble outline_offset = 0.0; +@@ -1673,6 +1673,14 @@ gst_base_text_overlay_render_pangocairo (GstBaseTextOverlay * overlay, + height = ceil (height * overlay->render_scale); + scalef *= overlay->render_scale; + ++ /* i.MX special, will cause text a little small */ ++ scalefx = scalef * ((gdouble)GST_ROUND_DOWN_8 (width)) / width; ++ scalefy = scalef * ((gdouble)GST_ROUND_DOWN_8 (height)) / height; ++ width = GST_ROUND_DOWN_8 (width); ++ height = GST_ROUND_DOWN_8 (height); ++ GST_DEBUG_OBJECT (overlay, "Rendering with width %d and height %d " ++ , width, height); ++ + if (width <= 0 || height <= 0) { + g_mutex_unlock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock); + GST_DEBUG_OBJECT (overlay, +@@ -1689,7 +1697,7 @@ gst_base_text_overlay_render_pangocairo (GstBaseTextOverlay * overlay, + /* Prepare the transformation matrix. Note that the transformation happens + * in reverse order. So for horizontal text, we will translate and then + * scale. This is important to understand which scale shall be used. */ +- cairo_matrix_init_scale (&cairo_matrix, scalef, scalef); ++ cairo_matrix_init_scale (&cairo_matrix, scalefx, scalefy); + + if (overlay->use_vertical_render) { + gint tmp; +-- +1.7.9.5 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend index ff4d77b7..f1992c3b 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend @@ -1,7 +1,11 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI_append_mx6 = " file://gstplaybin-remove-flag-deinterlace.patch" -SRC_URI_append_mx7 = " file://gstplaybin-remove-flag-deinterlace.patch" +IMX_PATCHES = " file://gstplaybin-remove-flag-deinterlace.patch \ + file://0001-MMFMWK-7030-Linux_MX6QP_ARD-IMXCameraApp-When-Enable.patch \ +" + +SRC_URI_append_mx6 = "${IMX_PATCHES}" +SRC_URI_append_mx7 = "${IMX_PATCHES}" PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}" PACKAGE_ARCH_mx7 = "${MACHINE_SOCARCH}" -- cgit v1.2.3-54-g00ecf