summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2019-05-27 16:34:17 -0400
committerPaul Elder <paul.elder@ideasonboard.com>2019-06-05 10:44:52 -0400
commit57338798641f0a0402ff1f8ae89622b9ad5dd6c7 (patch)
tree4f36d086101a0c0ae77081599f2fc38d9d3b9f74
parent87a93e17f8f86e651f2021dba37ba749a43cc363 (diff)
libcamera: pipeline: vimc: add dummy IPA
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@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/libcamera/pipeline/vimc.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index 0e4eede3..ad4577ac 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -9,10 +9,13 @@
#include <array>
#include <libcamera/camera.h>
+#include <libcamera/ipa/ipa_interface.h>
+#include <libcamera/ipa/ipa_module_info.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"
@@ -77,6 +80,8 @@ private:
return static_cast<VimcCameraData *>(
PipelineHandler::cameraData(camera));
}
+
+ std::unique_ptr<IPAInterface> ipa_;
};
VimcCameraConfiguration::VimcCameraConfiguration()
@@ -248,6 +253,12 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)
if (!media)
return false;
+ ipa_ = IPAManager::instance()->createIPA(this, 0, 0);
+ if (ipa_ == nullptr)
+ LOG(VIMC, Warning) << "no matching IPA found";
+ else
+ ipa_->init();
+
std::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this);
/* Locate and open the capture video node. */