[libcamera-devel] [PATCH] ipa: Allow forcing usage of C API though environment
Jacopo Mondi
jacopo at jmondi.org
Fri Oct 25 22:26:16 CEST 2019
Parse the 'LIBCAMERA_IPA_FORCE_C_API' environment variable that allows
forcing the usage of the IPA C API even if it's possible to short-circuit
it through the ipa_context_ops get_interface() operation.
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
src/libcamera/ipa_context_wrapper.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/libcamera/ipa_context_wrapper.cpp b/src/libcamera/ipa_context_wrapper.cpp
index 736082e9b068..b178418eb9b8 100644
--- a/src/libcamera/ipa_context_wrapper.cpp
+++ b/src/libcamera/ipa_context_wrapper.cpp
@@ -9,6 +9,8 @@
#include <libcamera/controls.h>
+#include "utils.h"
+
/**
* \file ipa_context_wrapper.h
* \brief Image Processing Algorithm context wrapper
@@ -41,7 +43,13 @@ namespace libcamera {
IPAContextWrapper::IPAContextWrapper(struct ipa_context *context)
: ctx_(context)
{
- if (ctx_ && ctx_->ops->get_interface) {
+ int skipIntf = 0;
+ const char *skipIntfEnv =
+ utils::secure_getenv("LIBCAMERA_IPA_FORCE_C_API");
+ if (skipIntfEnv)
+ skipIntf = !!atoi(skipIntfEnv);
+
+ if (!skipIntf && ctx_ && ctx_->ops->get_interface) {
intf_ = reinterpret_cast<IPAInterface *>(ctx_->ops->get_interface(ctx_));
intf_->queueFrameAction.connect(this, &IPAContextWrapper::queueFrameAction);
} else {
--
2.23.0
More information about the libcamera-devel
mailing list