[libcamera-devel] [PATCH 06/11] libcamera: ipa_manager: Return an IPAProxy from createIPA()

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Apr 27 05:17:08 CEST 2020


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 <laurent.pinchart at ideasonboard.com>
---
 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<IPAInterface> createIPA(PipelineHandler *pipe,
-						uint32_t maxVersion,
-						uint32_t minVersion);
+	std::unique_ptr<IPAProxy> createIPA(PipelineHandler *pipe,
+					    uint32_t maxVersion,
+					    uint32_t minVersion);
 
 private:
 	std::vector<IPAModule *> 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 <sys/types.h>
 #include <vector>
 
-#include <ipa/ipa_interface.h>
 #include <libcamera/controls.h>
 #include <libcamera/object.h>
 #include <libcamera/stream.h>
 
+#include "ipa_proxy.h"
+
 namespace libcamera {
 
 class Camera;
@@ -46,7 +47,7 @@ public:
 	std::list<Request *> queuedRequests_;
 	ControlInfoMap controlInfo_;
 	ControlList properties_;
-	std::unique_ptr<IPAInterface> ipa_;
+	std::unique_ptr<IPAProxy> 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<IPAInterface> IPAManager::createIPA(PipelineHandler *pipe,
-						    uint32_t maxVersion,
-						    uint32_t minVersion)
+std::unique_ptr<IPAProxy> IPAManager::createIPA(PipelineHandler *pipe,
+						uint32_t maxVersion,
+						uint32_t minVersion)
 {
 	IPAModule *m = nullptr;
 
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list