[Bug 728184] New: v4l2: Not enumerating all the possible frame sizes when the device uses V4L2_FRMIVAL_TYPE_STEPWISE

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Apr 14 07:15:09 PDT 2014


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

           Summary: v4l2: Not enumerating all the possible frame sizes
                    when the device uses V4L2_FRMIVAL_TYPE_STEPWISE
    Classification: Platform
           Product: GStreamer
           Version: unspecified
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: ricardo.ribalda at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


gst_v4l2_object_probe_caps_for_format_and_size finds out all the possible frame
sizes for a specific device.

The device enumerates the possible frame sizes with this ioctl
http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enum-framesizes.html

When the devices provides a V4L2_FRMIVAL_TYPE_STEPWISE type of enumeration, a
minimum, a maximum and a step is provided.

The current code considers that the valid frames sizes are obtained adding step
to minimum until maximum is reached when the correct interpretation of the
standard takes independently the step with and step height.

To make it more clear:


With the current code the list of frames is obtained like this (pseudocode)

size.x=minsize.x
size.y=minsize.y

while size < maxsize:
    addsize(size)
    size.x += step.x
    size.y += step.y

But it should look like:

size.x=minsize.x

while size.x < maxsize.x:
  size.y=minsize=y
  while size.y < maxsize.y:
     addsize(size)
     size.y += step.y
  size.x += step.y

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