[libcamera-devel] [PATCH 8/8] libcamera: pipeline: vimc: add dummy IPA

Paul Elder paul.elder at ideasonboard.com
Tue May 28 00:35:40 CEST 2019


Make the vimc pipeline handler get the dummy IPA, to show how an IPA can
be acquired by a pipeline handler.

Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
---
 src/libcamera/pipeline/vimc.cpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index d3ff527..1df5e5a 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -9,10 +9,12 @@
 #include <array>
 
 #include <libcamera/camera.h>
+#include <libcamera/ipa/ipa_interface.h>
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
 #include "device_enumerator.h"
+#include "ipa_manager.h"
 #include "log.h"
 #include "media_device.h"
 #include "pipeline_handler.h"
@@ -252,6 +254,14 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)
 	if (!media)
 		return false;
 
+	IPAManager *ipaManager = IPAManager::instance();
+	ipaManager->addDir("src/ipa");
+	std::unique_ptr<IPAInterface> ipa = ipaManager->createIPA(this);
+	if (ipa == nullptr)
+		LOG(VIMC, Error) << "no matching IPA found";
+	else
+		ipa->init();
+
 	std::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this);
 
 	/* Locate and open the capture video node. */
-- 
2.20.1



More information about the libcamera-devel mailing list