[Bug 738013] v4l2allocator: issue with import_userptr() in single-planar API when n_planes > 1

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jan 22 16:42:10 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=738013
  GStreamer | gst-plugins-good | git master

Nicolas Dufresne (stormer) <nicolas.dufresne> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #294853|reviewed                    |needs-work
             status|                            |

--- Comment #8 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> 2015-01-23 00:42:03 UTC ---
Review of attachment 294853:
 --> (https://bugzilla.gnome.org/review?bug=738013&attachment=294853)

::: sys/v4l2/gstv4l2allocator.c
@@ +1167,3 @@
+        tmp = ((guint8 *) data[i]) + pix_fmt->bytesperline * pix_fmt->height;
+        if (tmp != data[i + 1])
+          goto non_contiguous_mem;

Actually not. The stride (bytesperline) is not the same for all planes. It
depends on the subsampling. So while it's correct for NV12 and NV21, it does
not work for I420.

I wrote a method to interpolate the stride array from single bytesperline. We
should make that available to the allocator and use that here, and then use the
stride array.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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