ioctl VIDIOC_SUBDEV_ENUM_FRAME_SIZE
&manvol;
VIDIOC_SUBDEV_ENUM_FRAME_SIZEEnumerate media bus frame sizesint ioctlint fdint requeststruct v4l2_subdev_frame_size_enum *
argpArgumentsfd&fd;requestVIDIOC_SUBDEV_ENUM_FRAME_SIZEargpDescriptionExperimentalThis 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, code and
index fields of the
&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; 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.
struct v4l2_subdev_frame_size_enum
&cs-str;
__u32indexNumber of the format in the enumeration, set by the
application.__u32padPad number as reported by the media controller API.__u32codeThe media bus format code, as defined in
.__u32min_widthMinimum frame width, in pixels.__u32max_widthMaximum frame width, in pixels.__u32min_heightMinimum frame height, in pixels.__u32max_heightMaximum frame height, in pixels.__u32reserved[9]Reserved for future extensions. Applications and drivers must
set the array to zero.
&return-value;
EINVALThe &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.