From patchwork Tue Jun 22 13:20:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 12682 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 11162C321B for ; Tue, 22 Jun 2021 13:20:25 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 417096893F; Tue, 22 Jun 2021 15:20:23 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="cv+cNML+"; dkim-atps=neutral Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9591760292 for ; Tue, 22 Jun 2021 15:20:21 +0200 (CEST) Received: by mail-wm1-x32b.google.com with SMTP id p8-20020a7bcc880000b02901dbb595a9f1so2245193wma.2 for ; Tue, 22 Jun 2021 06:20:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZWWXxzkpiXhFeZsiVPLzjKg4oAmn09mNEBwBkvPqi0o=; b=cv+cNML+3Ql2PIk6/MtCGW4R3rRfO2ihqd7Mt6Tb+A/IPel/Q5jB65havmMwV95p7I BgjmpYBie1l0BYjz7N7x2fByukDCsawTdWQ87XFySo/ydt8ngzEWauyoV/xDC70gG8xQ FT3m40AvSjBdomBD3qjIGTxK0h1zPG+XKDIHZ+t+z0RT/D8cikEkp4O47nWAdfZn0CJk +VLWwnbXLBcgM9OkT1E/U0rDeb4GpPjdfGX6Z+6TKaFFy5cMs50GhM147IDRlDSH5wUc WsrpSmi/NqivvmgT0vWvoNwxAbBUs5tb6W+kQE0kYZ+bu5576752l1b/srDVccvyFf56 Dfrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZWWXxzkpiXhFeZsiVPLzjKg4oAmn09mNEBwBkvPqi0o=; b=qi2pdZ5ulXwIcVoXaPVAnGvEynX6voKQWkXHZNaf3eMyUKzzoo3VfwiKkSv3Fi4KQb d3aR52i+MsqSc2rtyyjDoBMcSFaMPxWPClrJosVMqKfui2bHf9mlrwCd1Nuei4z2X4lZ ivgGGU3n0+ZTjRO4HDTdFRCWYJIROWKM6HWdDRONg5/8Fqmtyvy26nj/hIvOBAnBWbCy 9cYQIlggnS0t6wd5d/bRSgWtSB8gxBYOluUlHFi9dXYrfnYp8Uolgk/Kb4oZBWInvxXe +A/8ki2wSbTLlgM6oXiDuVdVuu+I1HJn0Bz0BDZWapHatQF9WozEZfag2dKOFgxEws4I nyEA== X-Gm-Message-State: AOAM531zHEK1y3NeU8nWExuOM2/xdYI11/YZjefAxbPzRmwtMqwjzsz2 GoM6BHNUehwOmL0CSIFbSux/spL5QhK7lw== X-Google-Smtp-Source: ABdhPJx1fLsowPT3BSmsxDj84iH5eMA00HtZt8n3rWiQ2lgTPBEB9nNEYx0HgTZNz+xjKf4rolZF9g== X-Received: by 2002:a1c:6503:: with SMTP id z3mr4353446wmb.72.1624368021126; Tue, 22 Jun 2021 06:20:21 -0700 (PDT) Received: from naush-laptop.pitowers.org ([2a00:1098:3142:14:28d:3aa5:c82:cbf1]) by smtp.gmail.com with ESMTPSA id k5sm2632213wmk.11.2021.06.22.06.20.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Jun 2021 06:20:20 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Date: Tue, 22 Jun 2021 14:20:13 +0100 Message-Id: <20210622132014.949961-2-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210622132014.949961-1-naush@raspberrypi.com> References: <20210622132014.949961-1-naush@raspberrypi.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 1/2] ipa: raspberrypi: Use a unique_ptr for the metadata parser 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The derived CamHelper class now allocates a metadata parser object through a unique_ptr that is passed to the base class constructor. This automates the lifetime management of the parser object. Signed-off-by: Naushir Patuck Reviewed-by: David Plowman --- src/ipa/raspberrypi/cam_helper.cpp | 5 ++--- src/ipa/raspberrypi/cam_helper.hpp | 5 +++-- src/ipa/raspberrypi/cam_helper_imx219.cpp | 4 ++-- src/ipa/raspberrypi/cam_helper_imx290.cpp | 2 +- src/ipa/raspberrypi/cam_helper_imx477.cpp | 2 +- src/ipa/raspberrypi/cam_helper_ov5647.cpp | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp index 062e94c4fef3..90498c37af98 100644 --- a/src/ipa/raspberrypi/cam_helper.cpp +++ b/src/ipa/raspberrypi/cam_helper.cpp @@ -40,15 +40,14 @@ CamHelper *CamHelper::Create(std::string const &cam_name) return nullptr; } -CamHelper::CamHelper(MdParser *parser, unsigned int frameIntegrationDiff) - : parser_(parser), initialized_(false), +CamHelper::CamHelper(std::unique_ptr parser, unsigned int frameIntegrationDiff) + : parser_(std::move(parser)), initialized_(false), frameIntegrationDiff_(frameIntegrationDiff) { } CamHelper::~CamHelper() { - delete parser_; } void CamHelper::Prepare(Span buffer, diff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp index f53f5c39b01c..7371b9d97f66 100644 --- a/src/ipa/raspberrypi/cam_helper.hpp +++ b/src/ipa/raspberrypi/cam_helper.hpp @@ -6,6 +6,7 @@ */ #pragma once +#include #include #include @@ -67,7 +68,7 @@ class CamHelper { public: static CamHelper *Create(std::string const &cam_name); - CamHelper(MdParser *parser, unsigned int frameIntegrationDiff); + CamHelper(std::unique_ptr parser, unsigned int frameIntegrationDiff); virtual ~CamHelper(); void SetCameraMode(const CameraMode &mode); virtual void Prepare(libcamera::Span buffer, @@ -92,7 +93,7 @@ protected: void parseEmbeddedData(libcamera::Span buffer, Metadata &metadata); - MdParser *parser_; + std::unique_ptr parser_; CameraMode mode_; private: diff --git a/src/ipa/raspberrypi/cam_helper_imx219.cpp b/src/ipa/raspberrypi/cam_helper_imx219.cpp index ec218dce5456..c85044a5fa6d 100644 --- a/src/ipa/raspberrypi/cam_helper_imx219.cpp +++ b/src/ipa/raspberrypi/cam_helper_imx219.cpp @@ -58,9 +58,9 @@ private: CamHelperImx219::CamHelperImx219() #if ENABLE_EMBEDDED_DATA - : CamHelper(new MdParserImx219(), frameIntegrationDiff) + : CamHelper(std::make_unique(), frameIntegrationDiff) #else - : CamHelper(nullptr, frameIntegrationDiff) + : CamHelper({}, frameIntegrationDiff) #endif { } diff --git a/src/ipa/raspberrypi/cam_helper_imx290.cpp b/src/ipa/raspberrypi/cam_helper_imx290.cpp index 6f412e403f16..871c1f8eaec4 100644 --- a/src/ipa/raspberrypi/cam_helper_imx290.cpp +++ b/src/ipa/raspberrypi/cam_helper_imx290.cpp @@ -30,7 +30,7 @@ private: }; CamHelperImx290::CamHelperImx290() - : CamHelper(nullptr, frameIntegrationDiff) + : CamHelper({}, frameIntegrationDiff) { } diff --git a/src/ipa/raspberrypi/cam_helper_imx477.cpp b/src/ipa/raspberrypi/cam_helper_imx477.cpp index 25b36bce0dac..d72a9be0438e 100644 --- a/src/ipa/raspberrypi/cam_helper_imx477.cpp +++ b/src/ipa/raspberrypi/cam_helper_imx477.cpp @@ -50,7 +50,7 @@ private: }; CamHelperImx477::CamHelperImx477() - : CamHelper(new MdParserImx477(), frameIntegrationDiff) + : CamHelper(std::make_unique(), frameIntegrationDiff) { } diff --git a/src/ipa/raspberrypi/cam_helper_ov5647.cpp b/src/ipa/raspberrypi/cam_helper_ov5647.cpp index 12be6bf931a8..702c2d07f73a 100644 --- a/src/ipa/raspberrypi/cam_helper_ov5647.cpp +++ b/src/ipa/raspberrypi/cam_helper_ov5647.cpp @@ -38,7 +38,7 @@ private: */ CamHelperOv5647::CamHelperOv5647() - : CamHelper(nullptr, frameIntegrationDiff) + : CamHelper({}, frameIntegrationDiff) { }