summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-04-27 04:47:38 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-04-28 01:54:47 +0300
commit26a4b03ed85e0cc39939028964ae4a8961c05d02 (patch)
treebaea752c62255fe49bf34dffdc7e8924fcdfdb1a
parent53d3f4152af5a943d84f60cb8a02d791730c99b1 (diff)
libcamera: ipa_manager: Return an IPAProxy from createIPA()
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@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/libcamera/include/ipa_manager.h6
-rw-r--r--src/libcamera/include/pipeline_handler.h5
-rw-r--r--src/libcamera/ipa_manager.cpp14
3 files changed, 13 insertions, 12 deletions
diff --git a/src/libcamera/include/ipa_manager.h b/src/libcamera/include/ipa_manager.h
index 6165efb8..aa6b9adb 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 3fcfeda4..706413fa 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 50b6792d..df378679 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;