[Bug 724521] v4l2object: Inconvenient handling of V4L2_FRMSIZE_STEPWISE

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Apr 14 07:26:24 PDT 2014


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

--- Comment #9 from Ricardo Ribalda <ricardo.ribalda at gmail.com> 2014-04-14 14:26:16 UTC ---
I have created (and now closed as duplicated) a very similar bug to this one.

The problem is not only that it takes a long time to start, it is also missing
framesizes:


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