ioctl VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTION
&manvol;
VIDIOC_SUBDEV_G_SELECTIONVIDIOC_SUBDEV_S_SELECTIONGet or set selection rectangles on a subdev padint ioctlint fdint requeststruct v4l2_subdev_selection *argpArgumentsfd&fd;requestVIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTIONargpDescriptionExperimentalThis is an experimental
interface and may change in the future.The selections are used to configure various image
processing functionality performed by the subdevs which affect the
image size. This currently includes cropping, scaling and
composition.The selection API replaces the old subdev crop API. All
the function of the crop API, and more, are supported by the
selections API.See for
more information on how each selection target affects the image
processing pipeline inside the subdevice.Types of selection targetsThere are two types of selection targets: actual and bounds. The
actual targets are the targets which configure the hardware. The BOUNDS
target will return a rectangle that contain all possible actual
rectangles.Discovering supported featuresTo discover which targets are supported, the user can
perform VIDIOC_SUBDEV_G_SELECTION on them.
Any unsupported target will return
EINVAL.Selection targets and flags are documented in .
struct v4l2_subdev_selection
&cs-str;
__u32whichActive or try selection, from
&v4l2-subdev-format-whence;.__u32padPad number as reported by the media framework.__u32targetTarget selection rectangle. See
.__u32flagsFlags. See
.&v4l2-rect;rectSelection rectangle, in pixels.__u32reserved[8]Reserved for future extensions. Applications and drivers must
set the array to zero.
&return-value;
EBUSYThe selection rectangle can't be changed because the
pad is currently busy. This can be caused, for instance, by
an active video stream on the pad. The ioctl must not be
retried without performing another action to fix the problem
first. Only returned by
VIDIOC_SUBDEV_S_SELECTIONEINVALThe &v4l2-subdev-selection;
pad references a non-existing
pad, the which field references a
non-existing format, or the selection target is not
supported on the given subdev pad.