[Bug 712754] New: [v4l2] add support for multi-planar V4L2 API

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Nov 20 09:13:34 PST 2013


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

           Summary: [v4l2] add support for multi-planar V4L2 API
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: julien.isorce at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=260343)
 View: https://bugzilla.gnome.org/attachment.cgi?id=260343
 Review: https://bugzilla.gnome.org/review?bug=712754&attachment=260343

add support for multi-planar V4L2 API

>From v4l2 doc (http://linuxtv.org/downloads/v4l-dvb-apis/planar-apis.html):
"Some devices require data for each input or output video frame to be placed in
discontiguous memory buffers"

So the patch that follows add this support keeping the same code path than
previously when the device does not support multi-planar.

A noticeable difference is that v4l2_buffer.length now means the number of
planes. Also there are two new struct: 'struct v4l2_pix_format_mplane' and
'struct v4l2_plane'.

>From what I found, this API is present in the 2.6 linux kernel since 2.6.39 and
present in all v3.
So unless someone needs to keep compatibility with older kernel than 2.6.39, I
think it's not usefull to add some #ifdef/#endif around the gst-v4l2 source
code that uses this V4l2 multi-planar API.

Also I'm wondering if using gstreamer-1.3 implies to have at least kernel v3.

The following patch has been tested on Cotton-Candy / Exynos 4 device. And on
this device, only v4l2sink has been tested and with the following format: NV21,
NV12 and NV12-mplane.

About the compatibility of the previous code path, I tested the patch with
v4l2src through a webcam that supports RGB, YUY2, I420 and JPEG.

So please test with your devices and do not hesitate to report any regression,
or any comment about those changes.

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