summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>2021-10-22 15:58:26 +0200
committerJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>2021-10-26 14:02:43 +0200
commitec5ceceaf722bb6956f8748e96fe0563f91f39f0 (patch)
treef04f59679ed8e7ca46c791213300498da21e008b
parentacbad32b2e419558a55c7a2a26c19397d7c28191 (diff)
ipa: ipu3: tonemapping: Implement configure call
Let the algorithm perform its initial configuration. Implement configure() to set a default gamma value and let process do the updates needed. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/ipa/ipu3/algorithms/tone_mapping.cpp16
-rw-r--r--src/ipa/ipu3/algorithms/tone_mapping.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/src/ipa/ipu3/algorithms/tone_mapping.cpp b/src/ipa/ipu3/algorithms/tone_mapping.cpp
index 40337f9d..fcd22d0b 100644
--- a/src/ipa/ipu3/algorithms/tone_mapping.cpp
+++ b/src/ipa/ipu3/algorithms/tone_mapping.cpp
@@ -19,6 +19,22 @@ ToneMapping::ToneMapping()
{
}
+/**
+ * \brief Configure the tone mapping given a configInfo
+ * \param[in] context The shared IPA context
+ * \param[in] configInfo The IPA configuration data
+ *
+ * \return 0
+ */
+int ToneMapping::configure(IPAContext &context,
+ [[maybe_unused]] const IPAConfigInfo &configInfo)
+{
+ /* Initialise tone mapping gamma value. */
+ context.frameContext.toneMapping.gamma = 0.0;
+
+ return 0;
+}
+
void ToneMapping::prepare([[maybe_unused]] IPAContext &context,
ipu3_uapi_params *params)
{
diff --git a/src/ipa/ipu3/algorithms/tone_mapping.h b/src/ipa/ipu3/algorithms/tone_mapping.h
index 1dae4f9a..46dd6171 100644
--- a/src/ipa/ipu3/algorithms/tone_mapping.h
+++ b/src/ipa/ipu3/algorithms/tone_mapping.h
@@ -18,6 +18,7 @@ class ToneMapping : public Algorithm
public:
ToneMapping();
+ int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
void prepare(IPAContext &context, ipu3_uapi_params *params) override;
void process(IPAContext &context, const ipu3_uapi_stats_3a *stats) override;