diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2020-04-25 17:29:12 +0200 |
---|---|---|
committer | Jacopo Mondi <jacopo@jmondi.org> | 2020-04-28 22:24:34 +0200 |
commit | b8728b76a6e45543b8a316ab5d9633e52b55e425 (patch) | |
tree | 3edd65e271a4b13c4303eea888bd79a2c7c96fac /src | |
parent | e8d4797ef5c8133b4dbff49ba0995f3842d408b5 (diff) |
libcamera: v4l2_videodevice: Expose setSelection()
Expose V4L2Videodevice::setSelection() method and drop
V4L2Videodevice::setCrop() and V4L2Videodevice::setComopse() as wrapping
each target with a single function does not provide any benefit.
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/libcamera/include/v4l2_videodevice.h | 5 | ||||
-rw-r--r-- | src/libcamera/v4l2_videodevice.cpp | 23 |
2 files changed, 7 insertions, 21 deletions
diff --git a/src/libcamera/include/v4l2_videodevice.h b/src/libcamera/include/v4l2_videodevice.h index a0409e59..976ef9b6 100644 --- a/src/libcamera/include/v4l2_videodevice.h +++ b/src/libcamera/include/v4l2_videodevice.h @@ -211,8 +211,7 @@ public: int setFormat(V4L2DeviceFormat *format); std::map<V4L2PixelFormat, std::vector<SizeRange>> formats(); - int setCrop(Rectangle *rect); - int setCompose(Rectangle *rect); + int setSelection(unsigned int target, Rectangle *rect); int allocateBuffers(unsigned int count, std::vector<std::unique_ptr<FrameBuffer>> *buffers); @@ -254,8 +253,6 @@ private: std::vector<V4L2PixelFormat> enumPixelformats(); std::vector<SizeRange> enumSizes(V4L2PixelFormat pixelFormat); - int setSelection(unsigned int target, Rectangle *rect); - int requestBuffers(unsigned int count, enum v4l2_memory memoryType); int createBuffers(unsigned int count, std::vector<std::unique_ptr<FrameBuffer>> *buffers); diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp index 8d642be0..e8d4f17d 100644 --- a/src/libcamera/v4l2_videodevice.cpp +++ b/src/libcamera/v4l2_videodevice.cpp @@ -1108,25 +1108,14 @@ std::vector<SizeRange> V4L2VideoDevice::enumSizes(V4L2PixelFormat pixelFormat) } /** - * \brief Set a crop rectangle on the V4L2 video device node - * \param[inout] rect The rectangle describing the crop target area - * \return 0 on success or a negative error code otherwise - */ -int V4L2VideoDevice::setCrop(Rectangle *rect) -{ - return setSelection(V4L2_SEL_TGT_CROP, rect); -} - -/** - * \brief Set a compose rectangle on the V4L2 video device node - * \param[inout] rect The rectangle describing the compose target area + * \brief Set a selection rectangle \a rect for \a target + * \param[in] target The selection target defined by the V4L2_SEL_TGT_* flags + * \param[inout] rect The selection rectangle to be applied + * + * \todo Define a V4L2SelectionTarget enum for the selection target + * * \return 0 on success or a negative error code otherwise */ -int V4L2VideoDevice::setCompose(Rectangle *rect) -{ - return setSelection(V4L2_SEL_TGT_COMPOSE, rect); -} - int V4L2VideoDevice::setSelection(unsigned int target, Rectangle *rect) { struct v4l2_selection sel = {}; |