@@ -28,7 +28,7 @@ EXCLUDE = @TOP_SRCDIR@/include/libcamera/base/span.h \
@TOP_SRCDIR@/src/libcamera/sensor/camera_sensor_raw.cpp \
@TOP_SRCDIR@/src/libcamera/tracepoints.cpp \
@TOP_BUILDDIR@/include/libcamera/internal/tracepoints.h \
- @TOP_BUILDDIR@/include/libcamera/ipa/soft_ipa_interface.h \
+ @TOP_BUILDDIR@/include/libcamera/ipa/softisp_ipa_interface.h \
@TOP_BUILDDIR@/src/libcamera/proxy/
HTML_OUTPUT = internal-api
@@ -76,7 +76,7 @@ public:
std::unique_ptr<T> createIPA(uint32_t minVersion, uint32_t maxVersion)
{
IPAManager *ipaManager = manager_->_d()->ipaManager();
- return ipaManager->createIPA<T>(name_, minVersion, maxVersion);
+ return ipaManager->createIPA<T>(T::name(), minVersion, maxVersion);
}
template<typename T>
@@ -25,8 +25,8 @@
#include <libcamera/geometry.h>
#include <libcamera/pixel_format.h>
-#include <libcamera/ipa/soft_ipa_interface.h>
-#include <libcamera/ipa/soft_ipa_proxy.h>
+#include <libcamera/ipa/softisp_ipa_interface.h>
+#include <libcamera/ipa/softisp_ipa_proxy.h>
#include "libcamera/internal/camera_sensor.h"
#include "libcamera/internal/dma_buf_allocator.h"
@@ -68,7 +68,7 @@ pipeline_ipa_mojom_mapping = {
'rkisp1': 'rkisp1.mojom',
'rpi/pisp': 'raspberrypi.mojom',
'rpi/vc4': 'raspberrypi.mojom',
- 'simple': 'soft.mojom',
+ 'simple': 'softisp.mojom',
'vimc': 'vimc.mojom',
}
similarity index 100%
rename from include/libcamera/ipa/soft.mojom
rename to include/libcamera/ipa/softisp.mojom
@@ -48,8 +48,8 @@ option('gstreamer',
option('ipas',
type : 'array',
- choices : ['ipu3', 'mali-c55', 'rkisp1', 'rpi/pisp', 'rpi/vc4', 'simple',
- 'vimc'],
+ choices : ['ipu3', 'mali-c55', 'rkisp1', 'rpi/pisp', 'rpi/vc4',
+ 'softisp', 'vimc'],
description : 'Select which IPA modules to build')
option('lc-compliance',
@@ -30,7 +30,7 @@ supported_ipas = {
'rkisp1': 'rkisp1',
'rpi/pisp': 'rpi/pisp',
'rpi/vc4': 'rpi/vc4',
- 'simple': 'simple',
+ 'simple': 'softisp',
'vimc': 'vimc'
}
similarity index 100%
rename from src/ipa/simple/algorithms/adjust.cpp
rename to src/ipa/softisp/algorithms/adjust.cpp
similarity index 100%
rename from src/ipa/simple/algorithms/adjust.h
rename to src/ipa/softisp/algorithms/adjust.h
similarity index 100%
rename from src/ipa/simple/algorithms/agc.cpp
rename to src/ipa/softisp/algorithms/agc.cpp
similarity index 100%
rename from src/ipa/simple/algorithms/agc.h
rename to src/ipa/softisp/algorithms/agc.h
similarity index 100%
rename from src/ipa/simple/algorithms/algorithm.h
rename to src/ipa/softisp/algorithms/algorithm.h
similarity index 100%
rename from src/ipa/simple/algorithms/awb.cpp
rename to src/ipa/softisp/algorithms/awb.cpp
similarity index 97%
rename from src/ipa/simple/algorithms/awb.h
rename to src/ipa/softisp/algorithms/awb.h
@@ -14,7 +14,7 @@
#include "libipa/awb.h"
#include "libipa/fixedpoint.h"
-#include "simple/ipa_context.h"
+#include "softisp/ipa_context.h"
#include "algorithm.h"
similarity index 100%
rename from src/ipa/simple/algorithms/blc.cpp
rename to src/ipa/softisp/algorithms/blc.cpp
similarity index 100%
rename from src/ipa/simple/algorithms/blc.h
rename to src/ipa/softisp/algorithms/blc.h
similarity index 100%
rename from src/ipa/simple/algorithms/ccm.cpp
rename to src/ipa/softisp/algorithms/ccm.cpp
similarity index 100%
rename from src/ipa/simple/algorithms/ccm.h
rename to src/ipa/softisp/algorithms/ccm.h
similarity index 100%
rename from src/ipa/simple/algorithms/meson.build
rename to src/ipa/softisp/algorithms/meson.build
similarity index 79%
rename from src/ipa/simple/data/meson.build
rename to src/ipa/softisp/data/meson.build
@@ -6,5 +6,5 @@ conf_files = files([
# The install_dir must match the name from the IPAModuleInfo
install_data(conf_files,
- install_dir : ipa_data_dir / 'simple',
+ install_dir : ipa_data_dir / 'softisp',
install_tag : 'runtime')
similarity index 100%
rename from src/ipa/simple/data/uncalibrated.yaml
rename to src/ipa/softisp/data/uncalibrated.yaml
similarity index 100%
rename from src/ipa/simple/ipa_context.cpp
rename to src/ipa/softisp/ipa_context.cpp
similarity index 100%
rename from src/ipa/simple/ipa_context.h
rename to src/ipa/softisp/ipa_context.h
similarity index 100%
rename from src/ipa/simple/meson.build
rename to src/ipa/softisp/meson.build
similarity index 91%
rename from src/ipa/simple/module.h
rename to src/ipa/softisp/module.h
@@ -9,7 +9,7 @@
#include <libcamera/controls.h>
-#include <libcamera/ipa/soft_ipa_interface.h>
+#include <libcamera/ipa/softisp_ipa_interface.h>
#include "libcamera/internal/software_isp/debayer_params.h"
#include "libcamera/internal/software_isp/swisp_stats.h"
similarity index 99%
rename from src/ipa/simple/soft_simple.cpp
rename to src/ipa/softisp/soft_simple.cpp
@@ -20,7 +20,7 @@
#include <libcamera/ipa/ipa_interface.h>
#include <libcamera/ipa/ipa_module_info.h>
-#include <libcamera/ipa/soft_ipa_interface.h>
+#include <libcamera/ipa/softisp_ipa_interface.h>
#include "libcamera/internal/software_isp/debayer_params.h"
#include "libcamera/internal/software_isp/swisp_stats.h"
@@ -342,7 +342,7 @@ extern "C" {
const struct IPAModuleInfo ipaModuleInfo = {
IPA_MODULE_API_VERSION,
0,
- "simple",
+ "softisp",
};
IPAInterface *ipaCreate()
@@ -844,8 +844,10 @@ void PipelineHandler::disconnect()
*
* Create an IPA module using \a ipaName as the matching identifier. This
* overload allows pipeline handlers to create an IPA module by specifying its
- * name instead of relying on the fact that the IPA module matches the pipeline
- * handler's one.
+ * name instead of relying on the fact that the IPA module matches the IPA
+ * proxy's type name.
+ *
+ * \deprecated This method is deprecated and *MUST* not be used in new code.
*
* \return A newly created IPA proxy, or nullptr if no matching IPA module is
* found or if the IPA proxy fails to initialize
@@ -858,7 +860,7 @@ void PipelineHandler::disconnect()
* \param[in] minVersion Minimum acceptable version of IPA module
* \param[in] maxVersion Maximum acceptable version of IPA module
*
- * Create an IPA module using the pipeline handler name as the matching
+ * Create an IPA module using the IPA proxy's type name as the matching
* identifier. This overload allows pipeline handler to create an IPA module
* whose name matches the pipeline handler one.
*
@@ -40,6 +40,8 @@ class {{proxy_name}}Isolated;
class {{proxy_name}} : public IPAProxy, public {{interface_name}}, public Object
{
public:
+ static constexpr const char *name() { return "{{module_name}}"; };
+
using Threaded = {{proxy_name}}Threaded;
using Isolated = {{proxy_name}}Isolated;