ioctl VIDIOC_SUBDEV_ENUM_FRAME_SIZE
&manvol;
VIDIOC_SUBDEV_ENUM_FRAME_SIZE
Enumerate media bus frame sizes
int ioctl
int fd
int request
struct v4l2_subdev_frame_size_enum *
argp
Arguments
fd
&fd;
request
VIDIOC_SUBDEV_ENUM_FRAME_SIZE
argp
Description
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 &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;
__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
.
__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 &v4l2-subdev-format-whence;.
__u32
reserved[8]
Reserved for future extensions. Applications and drivers must
set the array to zero.
&return-value;
EINVAL
The &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.