summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2019-05-27 16:36:43 -0400
committerPaul Elder <paul.elder@ideasonboard.com>2019-06-05 10:44:51 -0400
commit46ae1775b07222416bfe48557eb263d57a79031e (patch)
treec0aa8d6b68e82840c8ec2673cca34b65fe617f3d
parent629e9301c518624960779399714907b1dbecaf5b (diff)
libcamera: ipa_interface: add header
Define an IPAInterface class which will contain an IPA implementation. The methods that the IPAInterface exposes form the interface to the IPA implementation, hence the name. IPA module shared objects will implement this class. This also means that IPA module shared objects must be implemented in C++, so remove the C test IPA module. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--include/libcamera/ipa/ipa_interface.h22
-rw-r--r--include/libcamera/meson.build1
-rw-r--r--src/libcamera/ipa_interface.cpp27
-rw-r--r--src/libcamera/meson.build1
-rw-r--r--test/ipa/ipa_test.cpp2
-rw-r--r--test/ipa/meson.build1
-rw-r--r--test/ipa/shared_test.c6
7 files changed, 51 insertions, 9 deletions
diff --git a/include/libcamera/ipa/ipa_interface.h b/include/libcamera/ipa/ipa_interface.h
new file mode 100644
index 00000000..2c5eb1fd
--- /dev/null
+++ b/include/libcamera/ipa/ipa_interface.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2019, Google Inc.
+ *
+ * ipa_interface.h - Image Processing Algorithm interface
+ */
+#ifndef __LIBCAMERA_IPA_INTERFACE_H__
+#define __LIBCAMERA_IPA_INTERFACE_H__
+
+namespace libcamera {
+
+class IPAInterface
+{
+public:
+ virtual ~IPAInterface() {}
+
+ virtual int init() = 0;
+};
+
+} /* namespace libcamera */
+
+#endif /* __LIBCAMERA_IPA_INTERFACE_H__ */
diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build
index 1fcf6b50..1b86fdc7 100644
--- a/include/libcamera/meson.build
+++ b/include/libcamera/meson.build
@@ -5,6 +5,7 @@ libcamera_api = files([
'event_dispatcher.h',
'event_notifier.h',
'geometry.h',
+ 'ipa/ipa_interface.h',
'ipa/ipa_module_info.h',
'object.h',
'request.h',
diff --git a/src/libcamera/ipa_interface.cpp b/src/libcamera/ipa_interface.cpp
new file mode 100644
index 00000000..9d30da29
--- /dev/null
+++ b/src/libcamera/ipa_interface.cpp
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2019, Google Inc.
+ *
+ * ipa_interface.cpp - Image Processing Algorithm interface
+ */
+
+#include <libcamera/ipa/ipa_interface.h>
+
+/**
+ * \file ipa_interface.h
+ * \brief Image Processing Algorithm interface
+ */
+
+namespace libcamera {
+
+/**
+ * \class IPAInterface
+ * \brief Interface for IPA implementation
+ */
+
+/**
+ * \fn IPAInterface::init()
+ * \brief Initialise the IPAInterface
+ */
+
+} /* namespace libcamera */
diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index 6a73580d..07335e53 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -10,6 +10,7 @@ libcamera_sources = files([
'event_notifier.cpp',
'formats.cpp',
'geometry.cpp',
+ 'ipa_interface.cpp',
'ipa_module.cpp',
'log.cpp',
'media_device.cpp',
diff --git a/test/ipa/ipa_test.cpp b/test/ipa/ipa_test.cpp
index 9861ee26..2dbc7029 100644
--- a/test/ipa/ipa_test.cpp
+++ b/test/ipa/ipa_test.cpp
@@ -60,8 +60,6 @@ protected:
9001,
};
- count += runTest("test/ipa/ipa-dummy-c.so", testInfo);
-
count += runTest("test/ipa/ipa-dummy-cpp.so", testInfo);
if (count < 0)
diff --git a/test/ipa/meson.build b/test/ipa/meson.build
index ecde313c..08ee95ca 100644
--- a/test/ipa/meson.build
+++ b/test/ipa/meson.build
@@ -1,5 +1,4 @@
ipa_modules_sources = [
- ['ipa-dummy-c', 'shared_test.c'],
['ipa-dummy-cpp', 'shared_test.cpp'],
]
diff --git a/test/ipa/shared_test.c b/test/ipa/shared_test.c
deleted file mode 100644
index 87d182b9..00000000
--- a/test/ipa/shared_test.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <libcamera/ipa/ipa_module_info.h>
-
-const struct IPAModuleInfo ipaModuleInfo = {
- .name = "It's over nine thousand!",
- .version = 9001,
-};