[libcamera-devel] [PATCH v2] ipa: Allow forcing usage of C API though environment
Niklas Söderlund
niklas.soderlund at ragnatech.se
Mon Oct 28 11:50:45 CET 2019
Hi Jacopo,
Thanks for your patch.
On 2019-10-27 13:59:22 +0100, Jacopo Mondi wrote:
> 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.
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> 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
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list