[libcamera-devel,v5,09/19] ipa: ipu3: tonemapping: Implement configure call
diff mbox series

Message ID 20211026112340.110169-10-jeanmichel.hautbois@ideasonboard.com
State Accepted
Commit ec5ceceaf722bb6956f8748e96fe0563f91f39f0
Headers show
Series
  • Document IPU3 IPA
Related show

Commit Message

Jean-Michel Hautbois Oct. 26, 2021, 11:23 a.m. UTC
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>
---
 src/ipa/ipu3/algorithms/tone_mapping.cpp | 16 ++++++++++++++++
 src/ipa/ipu3/algorithms/tone_mapping.h   |  1 +
 2 files changed, 17 insertions(+)

Patch
diff mbox series

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;