diff options
author | Florian Sylvestre <fsylvestre@baylibre.com> | 2022-08-05 14:40:26 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-08-21 21:50:12 +0300 |
commit | 6d20a93177e89a35e5a2b2372df63c6505879258 (patch) | |
tree | b811ff0f4e075f5a64b919db1789c831a9f6e317 | |
parent | ea549c46d3307b8ff031166df936e98327d99c8e (diff) |
ipa: rkisp1: Add enable field for LSC algorithm in IPA context
Add an enable variable in the lsc struct in IPASessionConfiguration
which indicates if the LSC hardware module is enabled. This will allow
other algorithms to retrieve this information.
Signed-off-by: Florian Sylvestre <fsylvestre@baylibre.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
-rw-r--r-- | src/ipa/rkisp1/algorithms/lsc.cpp | 10 | ||||
-rw-r--r-- | src/ipa/rkisp1/algorithms/lsc.h | 1 | ||||
-rw-r--r-- | src/ipa/rkisp1/ipa_context.cpp | 8 | ||||
-rw-r--r-- | src/ipa/rkisp1/ipa_context.h | 4 |
4 files changed, 23 insertions, 0 deletions
diff --git a/src/ipa/rkisp1/algorithms/lsc.cpp b/src/ipa/rkisp1/algorithms/lsc.cpp index 05c8c0da..da287ac7 100644 --- a/src/ipa/rkisp1/algorithms/lsc.cpp +++ b/src/ipa/rkisp1/algorithms/lsc.cpp @@ -120,6 +120,16 @@ int LensShadingCorrection::init([[maybe_unused]] IPAContext &context, } /** + * \copydoc libcamera::ipa::Algorithm::configure + */ +int LensShadingCorrection::configure(IPAContext &context, + [[maybe_unused]] const IPACameraSensorInfo &configInfo) +{ + context.configuration.lsc.enabled = initialized_; + return 0; +} + +/** * \copydoc libcamera::ipa::Algorithm::prepare */ void LensShadingCorrection::prepare(IPAContext &context, diff --git a/src/ipa/rkisp1/algorithms/lsc.h b/src/ipa/rkisp1/algorithms/lsc.h index fdb2ec1d..f68602c0 100644 --- a/src/ipa/rkisp1/algorithms/lsc.h +++ b/src/ipa/rkisp1/algorithms/lsc.h @@ -20,6 +20,7 @@ public: ~LensShadingCorrection() = default; int init(IPAContext &context, const YamlObject &tuningData) override; + int configure(IPAContext &context, const IPACameraSensorInfo &configInfo) override; void prepare(IPAContext &context, rkisp1_params_cfg *params) override; private: diff --git a/src/ipa/rkisp1/ipa_context.cpp b/src/ipa/rkisp1/ipa_context.cpp index 0a47015c..d02e2007 100644 --- a/src/ipa/rkisp1/ipa_context.cpp +++ b/src/ipa/rkisp1/ipa_context.cpp @@ -97,6 +97,14 @@ namespace libcamera::ipa::rkisp1 { */ /** + * \var IPASessionConfiguration::lsc + * \brief Lens Shading Correction configuration of the IPA + * + * \var IPASessionConfiguration::lsc.enabled + * \brief Indicates if the LSC hardware is enabled + */ + +/** * \var IPASessionConfiguration::sensor * \brief Sensor-specific configuration of the IPA * diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h index 07202bea..fb4311f6 100644 --- a/src/ipa/rkisp1/ipa_context.h +++ b/src/ipa/rkisp1/ipa_context.h @@ -33,6 +33,10 @@ struct IPASessionConfiguration { } awb; struct { + bool enabled; + } lsc; + + struct { utils::Duration lineDuration; Size size; } sensor; |