7.56. ioctl VIDIOC_SUBDEV_ENUM_FRAME_SIZE¶
7.56.1. Name¶
VIDIOC_SUBDEV_ENUM_FRAME_SIZE - Enumerate media bus frame sizes
7.56.2. Synopsis¶
- 
VIDIOC_SUBDEV_ENUM_FRAME_SIZE¶
int ioctl(int fd, VIDIOC_SUBDEV_ENUM_FRAME_SIZE, struct v4l2_subdev_frame_size_enum * argp)
7.56.3. Arguments¶
- fd
- File descriptor returned by - open().
- argp
- Pointer to struct - v4l2_subdev_frame_size_enum.
7.56.4. 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 ioctl 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 ioctl 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 ioctl VIDIOC_SUBDEV_G_FMT, VIDIOC_SUBDEV_S_FMT for more information about try formats.
- 
type v4l2_subdev_frame_size_enum¶
| __u32 | 
 | Number of the format in the enumeration, set by the application. | 
| __u32 | 
 | Pad number as reported by the media controller API. | 
| __u32 | 
 | The media bus format code, as defined in Media Bus Formats. | 
| __u32 | 
 | Minimum frame width, in pixels. | 
| __u32 | 
 | Maximum frame width, in pixels. | 
| __u32 | 
 | Minimum frame height, in pixels. | 
| __u32 | 
 | Maximum frame height, in pixels. | 
| __u32 | 
 | Frame sizes to be enumerated, from enum v4l2_subdev_format_whence. | 
| __u32 | 
 | Reserved for future extensions. Applications and drivers must set the array to zero. | 
7.56.5. Return Value¶
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.
- EINVAL
- The struct - v4l2_subdev_frame_size_enum- padreferences a non-existing pad, the- codeis invalid for the given pad or the- indexfield is out of bounds.