From patchwork Mon Apr 27 21:32:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 3571 Return-Path: Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id A761A60AF4 for ; Mon, 27 Apr 2020 23:29:33 +0200 (CEST) X-Originating-IP: 212.216.150.148 Received: from uno.homenet.telecomitalia.it (a-ur1-85.tin.it [212.216.150.148]) (Authenticated sender: jacopo@jmondi.org) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 1D9EE4000A; Mon, 27 Apr 2020 21:29:32 +0000 (UTC) From: Jacopo Mondi To: libcamera-devel@lists.libcamera.org Date: Mon, 27 Apr 2020 23:32:31 +0200 Message-Id: <20200427213236.333777-3-jacopo@jmondi.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200427213236.333777-1-jacopo@jmondi.org> References: <20200427213236.333777-1-jacopo@jmondi.org> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 2/7] libcamera: v4l2_videodevice: Expose setSelection() X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Apr 2020 21:29:33 -0000 Expose V4L2Videodevice::setSelection() method and drop V4L2Videodevice::setCrop() and V4L2Videodevice::setComopse() as wrapping each target with a single function does not provide any benefit. Signed-off-by: Jacopo Mondi Reviewed-by: Niklas Söderlund Reviewed-by: Laurent Pinchart --- src/libcamera/include/v4l2_videodevice.h | 5 +---- src/libcamera/v4l2_videodevice.cpp | 20 +++----------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/src/libcamera/include/v4l2_videodevice.h b/src/libcamera/include/v4l2_videodevice.h index a0409e59c08f..976ef9b6dc50 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> formats(); - int setCrop(Rectangle *rect); - int setCompose(Rectangle *rect); + int setSelection(unsigned int target, Rectangle *rect); int allocateBuffers(unsigned int count, std::vector> *buffers); @@ -254,8 +253,6 @@ private: std::vector enumPixelformats(); std::vector 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> *buffers); diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp index 8d642be0d05c..b16ab82c2807 100644 --- a/src/libcamera/v4l2_videodevice.cpp +++ b/src/libcamera/v4l2_videodevice.cpp @@ -1108,25 +1108,11 @@ std::vector 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 + * \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 * \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 - * \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 = {};