VIDIOC_SUBDEV_ENUM_FRAME_SIZE — Enumerate media bus frame sizes
int ioctl( | int fd, |
int request, | |
struct v4l2_subdev_frame_size_enum *
argp) ; |
This is an experimental interface and may change in the future.
This ioctl allows applications to enumerate all frame sizes
supported by a sub-device on the given pad for the given media bus format.
Supported formats can be retrieved with the VIDIOC_SUBDEV_ENUM_MBUS_CODE
ioctl.
To enumerate frame sizes applications initialize the
pad
, which
,
code
and index
fields of the struct v4l2_subdev_mbus_code_enum and call the
VIDIOC_SUBDEV_ENUM_FRAME_SIZE
ioctl with a pointer to
the structure. Drivers fill the minimum and maximum frame sizes or return
an EINVAL error code if one of the input parameters is invalid.
Sub-devices that only support discrete frame sizes (such as most sensors) will return one or more frame sizes with identical minimum and maximum values.
Not all possible sizes in given [minimum, maximum] ranges need to be
supported. For instance, a scaler that uses a fixed-point scaling ratio
might not be able to produce every frame size between the minimum and
maximum values. Applications must use the VIDIOC_SUBDEV_S_FMT
ioctl to
try the sub-device for an exact supported frame size.
Available frame sizes may depend on the current 'try' formats at other
pads of the sub-device, as well as on the current active links and the
current values of V4L2 controls. See VIDIOC_SUBDEV_G_FMT
for more
information about try formats.
Table A.103. struct v4l2_subdev_frame_size_enum
__u32 | index | Number of the format in the enumeration, set by the application. |
__u32 | pad | Pad number as reported by the media controller API. |
__u32 | code | The media bus format code, as defined in the section called “Media Bus Formats”. |
__u32 | min_width | Minimum frame width, in pixels. |
__u32 | max_width | Maximum frame width, in pixels. |
__u32 | min_height | Minimum frame height, in pixels. |
__u32 | max_height | Maximum frame height, in pixels. |
__u32 | which | Frame sizes to be enumerated, from enum v4l2_subdev_format_whence. |
__u32 | reserved [8] | Reserved for future extensions. Applications and drivers must set the array to zero. |
On success 0 is returned, on error -1 and the errno
variable is set appropriately. The generic error codes are described at the Generic Error Codes chapter.
The struct v4l2_subdev_frame_size_enum pad
references a non-existing pad, the code
is
invalid for the given pad or the index
field is out of bounds.