From patchwork Mon Apr 27 03:17:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 3558 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 2496C60AF4 for ; Mon, 27 Apr 2020 05:17:35 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Q4UAEiQG"; dkim-atps=neutral Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B185397D for ; Mon, 27 Apr 2020 05:17:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1587957454; bh=MjnLqgId78kIcnx1x19FR35PMzeYX8YVfyOVjuYPVFk=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Q4UAEiQG1IcVbchc8g4VJVQpgJxULjGB0kJUj6FJovRxl1hCwQfoPFkPJUhRoR7L7 89YAPRGot13kpZsy9iQBJgXF8jYYUn8eMrssMU10l3VYh0fQBn+BJocaAGm1WulQEf pUSHisPp9bOero+ALetwUXixanRUdTs9/QIcKmX0= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Date: Mon, 27 Apr 2020 06:17:08 +0300 Message-Id: <20200427031713.14013-7-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200427031713.14013-1-laurent.pinchart@ideasonboard.com> References: <20200427031713.14013-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 06/11] libcamera: ipa_manager: Return an IPAProxy from createIPA() 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 03:17:36 -0000 In order to provide pipeline handlers with IPA-related helpers on top of IPAInterface, return the IPAProxy instance from IPAManager::createIPA(). No change is required in the pipeline handlers as the IPAInterface that was previously returned is implemented by an IPAProxy instance already. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi Reviewed-by: Kieran Bingham --- src/libcamera/include/ipa_manager.h | 6 +++--- src/libcamera/include/pipeline_handler.h | 5 +++-- src/libcamera/ipa_manager.cpp | 14 +++++++------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/libcamera/include/ipa_manager.h b/src/libcamera/include/ipa_manager.h index 6165efb8b145..aa6b9adb1f87 100644 --- a/src/libcamera/include/ipa_manager.h +++ b/src/libcamera/include/ipa_manager.h @@ -24,9 +24,9 @@ class IPAManager public: static IPAManager *instance(); - std::unique_ptr createIPA(PipelineHandler *pipe, - uint32_t maxVersion, - uint32_t minVersion); + std::unique_ptr createIPA(PipelineHandler *pipe, + uint32_t maxVersion, + uint32_t minVersion); private: std::vector modules_; diff --git a/src/libcamera/include/pipeline_handler.h b/src/libcamera/include/pipeline_handler.h index 3fcfeda4bfee..706413fa6e9f 100644 --- a/src/libcamera/include/pipeline_handler.h +++ b/src/libcamera/include/pipeline_handler.h @@ -15,11 +15,12 @@ #include #include -#include #include #include #include +#include "ipa_proxy.h" + namespace libcamera { class Camera; @@ -46,7 +47,7 @@ public: std::list queuedRequests_; ControlInfoMap controlInfo_; ControlList properties_; - std::unique_ptr ipa_; + std::unique_ptr ipa_; private: CameraData(const CameraData &) = delete; diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp index 50b6792d6cce..df3786797010 100644 --- a/src/libcamera/ipa_manager.cpp +++ b/src/libcamera/ipa_manager.cpp @@ -247,17 +247,17 @@ unsigned int IPAManager::addDir(const char *libDir, unsigned int maxDepth) } /** - * \brief Create an IPA interface that matches a given pipeline handler - * \param[in] pipe The pipeline handler that wants a matching IPA interface + * \brief Create an IPA proxy that matches a given pipeline handler + * \param[in] pipe The pipeline handler that wants a matching IPA proxy * \param[in] minVersion Minimum acceptable version of IPA module * \param[in] maxVersion Maximum acceptable version of IPA module * - * \return A newly created IPA interface, or nullptr if no matching - * IPA module is found or if the IPA interface fails to initialize + * \return A newly created IPA proxy, or nullptr if no matching IPA module is + * found or if the IPA proxy fails to initialize */ -std::unique_ptr IPAManager::createIPA(PipelineHandler *pipe, - uint32_t maxVersion, - uint32_t minVersion) +std::unique_ptr IPAManager::createIPA(PipelineHandler *pipe, + uint32_t maxVersion, + uint32_t minVersion) { IPAModule *m = nullptr;