[Bug 757290] gdkpixbufoverlay crash

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun Nov 8 16:35:38 PST 2015


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

Reynaldo H. Verdejo Pinochet <reynaldo at opendot.cl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |reynaldo at opendot.cl

--- Comment #1 from Reynaldo H. Verdejo Pinochet <reynaldo at opendot.cl> ---
special casing source dims on width or height == 1 goes around the problem
for me but I'm not sure about the maths here. I understand its building up
a 16.16 fixed point from the quotients but why the multiple -1s? shouldn't
it just be numerator << 16 / denominator? Additionally, is there any
documentation for video_orc_resample_bilinear_u32() and why aren't we
using GstVideoScaler here?

index 8dc65c5..138a314 100644
--- a/gst-libs/gst/video/video-blend.c
+++ b/gst-libs/gst/video/video-blend.c
@@ -186,12 +186,12 @@ gst_video_blend_scale_linear_RGBA (GstVideoInfo * src,
GstBuffer * src_buffer,
   gst_video_frame_map (&src_frame, src, src_buffer, GST_MAP_READ);
   gst_video_frame_map (&dest_frame, dest, *dest_buffer, GST_MAP_WRITE);

-  if (dest_height == 1)
+  if (dest_height == 1 || src->height == 1)
     y_increment = 0;
   else
     y_increment = ((src->height - 1) << 16) / (dest_height - 1) - 1;

-  if (dest_width == 1)
+  if (dest_width == 1 || src->width == 1)
     x_increment = 0;
   else
     x_increment = ((src->width - 1) << 16) / (dest_width - 1) - 1;

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