GNOME Bugzilla – Bug 728184
v4l2: Not enumerating all the possible frame sizes when the device uses V4L2_FRMIVAL_TYPE_STEPWISE
Last modified: 2014-04-14 14:21:29 UTC
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
*** This bug has been marked as a duplicate of bug 724521 ***