[1/3] ipa: ipu3: Add skeleton Agc::queueRequest() function
diff mbox series

Message ID 20250117143410.20363-2-dan.scally@ideasonboard.com
State New
Headers show
Series
  • Add flicker mitigation controls to AgcMeanLuminance
Related show

Commit Message

Daniel Scally Jan. 17, 2025, 2:34 p.m. UTC
The IPU3 IPA's AGC algorithm currently does not implement a
queueRequest() function. We will shortly need to use it, but to
avoid lots of noise in the future commit that adds a function call in
to that function add it as a skeleton here.

Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
---
 src/ipa/ipu3/algorithms/agc.cpp | 10 ++++++++++
 src/ipa/ipu3/algorithms/agc.h   |  3 +++
 2 files changed, 13 insertions(+)

Comments

Laurent Pinchart Jan. 21, 2025, 4:11 p.m. UTC | #1
Hi Dan,

Thank you for the patch.

On Fri, Jan 17, 2025 at 02:34:08PM +0000, Daniel Scally wrote:
> The IPU3 IPA's AGC algorithm currently does not implement a
> queueRequest() function. We will shortly need to use it, but to
> avoid lots of noise in the future commit that adds a function call in
> to that function add it as a skeleton here.
> 
> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  src/ipa/ipu3/algorithms/agc.cpp | 10 ++++++++++
>  src/ipa/ipu3/algorithms/agc.h   |  3 +++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/src/ipa/ipu3/algorithms/agc.cpp b/src/ipa/ipu3/algorithms/agc.cpp
> index 39d0aebb..383b046c 100644
> --- a/src/ipa/ipu3/algorithms/agc.cpp
> +++ b/src/ipa/ipu3/algorithms/agc.cpp
> @@ -123,6 +123,16 @@ int Agc::configure(IPAContext &context,
>  	return 0;
>  }
>  
> +/**
> + * \copydoc libcamera::ipa::Algorithm::queueRequest
> + */
> +void Agc::queueRequest([[maybe_unused]] typename Module::Context &context,
> +		       [[maybe_unused]] const uint32_t frame,
> +		       [[maybe_unused]] typename Module::FrameContext &frameContext,
> +		       [[maybe_unused]] const ControlList &controls)
> +{
> +}
> +
>  Histogram Agc::parseStatistics(const ipu3_uapi_stats_3a *stats,
>  			       const ipu3_uapi_grid_config &grid)
>  {
> diff --git a/src/ipa/ipu3/algorithms/agc.h b/src/ipa/ipu3/algorithms/agc.h
> index 890c271b..c82b7acb 100644
> --- a/src/ipa/ipu3/algorithms/agc.h
> +++ b/src/ipa/ipu3/algorithms/agc.h
> @@ -32,6 +32,9 @@ public:
>  
>  	int init(IPAContext &context, const YamlObject &tuningData) override;
>  	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
> +	void queueRequest(IPAContext &context, const uint32_t frame,
> +			  IPAFrameContext &frameContext,
> +			  const ControlList &controls) override;
>  	void process(IPAContext &context, const uint32_t frame,
>  		     IPAFrameContext &frameContext,
>  		     const ipu3_uapi_stats_3a *stats,
Paul Elder Jan. 23, 2025, 4:05 a.m. UTC | #2
On Fri, Jan 17, 2025 at 02:34:08PM +0000, Daniel Scally wrote:
> The IPU3 IPA's AGC algorithm currently does not implement a
> queueRequest() function. We will shortly need to use it, but to
> avoid lots of noise in the future commit that adds a function call in
> to that function add it as a skeleton here.
> 
> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> ---
>  src/ipa/ipu3/algorithms/agc.cpp | 10 ++++++++++
>  src/ipa/ipu3/algorithms/agc.h   |  3 +++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/src/ipa/ipu3/algorithms/agc.cpp b/src/ipa/ipu3/algorithms/agc.cpp
> index 39d0aebb..383b046c 100644
> --- a/src/ipa/ipu3/algorithms/agc.cpp
> +++ b/src/ipa/ipu3/algorithms/agc.cpp
> @@ -123,6 +123,16 @@ int Agc::configure(IPAContext &context,
>  	return 0;
>  }
>  
> +/**
> + * \copydoc libcamera::ipa::Algorithm::queueRequest
> + */
> +void Agc::queueRequest([[maybe_unused]] typename Module::Context &context,
> +		       [[maybe_unused]] const uint32_t frame,
> +		       [[maybe_unused]] typename Module::FrameContext &frameContext,
> +		       [[maybe_unused]] const ControlList &controls)
> +{
> +}
> +
>  Histogram Agc::parseStatistics(const ipu3_uapi_stats_3a *stats,
>  			       const ipu3_uapi_grid_config &grid)
>  {
> diff --git a/src/ipa/ipu3/algorithms/agc.h b/src/ipa/ipu3/algorithms/agc.h
> index 890c271b..c82b7acb 100644
> --- a/src/ipa/ipu3/algorithms/agc.h
> +++ b/src/ipa/ipu3/algorithms/agc.h
> @@ -32,6 +32,9 @@ public:
>  
>  	int init(IPAContext &context, const YamlObject &tuningData) override;
>  	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
> +	void queueRequest(IPAContext &context, const uint32_t frame,
> +			  IPAFrameContext &frameContext,
> +			  const ControlList &controls) override;
>  	void process(IPAContext &context, const uint32_t frame,
>  		     IPAFrameContext &frameContext,
>  		     const ipu3_uapi_stats_3a *stats,
> -- 
> 2.34.1
>

Patch
diff mbox series

diff --git a/src/ipa/ipu3/algorithms/agc.cpp b/src/ipa/ipu3/algorithms/agc.cpp
index 39d0aebb..383b046c 100644
--- a/src/ipa/ipu3/algorithms/agc.cpp
+++ b/src/ipa/ipu3/algorithms/agc.cpp
@@ -123,6 +123,16 @@  int Agc::configure(IPAContext &context,
 	return 0;
 }
 
+/**
+ * \copydoc libcamera::ipa::Algorithm::queueRequest
+ */
+void Agc::queueRequest([[maybe_unused]] typename Module::Context &context,
+		       [[maybe_unused]] const uint32_t frame,
+		       [[maybe_unused]] typename Module::FrameContext &frameContext,
+		       [[maybe_unused]] const ControlList &controls)
+{
+}
+
 Histogram Agc::parseStatistics(const ipu3_uapi_stats_3a *stats,
 			       const ipu3_uapi_grid_config &grid)
 {
diff --git a/src/ipa/ipu3/algorithms/agc.h b/src/ipa/ipu3/algorithms/agc.h
index 890c271b..c82b7acb 100644
--- a/src/ipa/ipu3/algorithms/agc.h
+++ b/src/ipa/ipu3/algorithms/agc.h
@@ -32,6 +32,9 @@  public:
 
 	int init(IPAContext &context, const YamlObject &tuningData) override;
 	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
+	void queueRequest(IPAContext &context, const uint32_t frame,
+			  IPAFrameContext &frameContext,
+			  const ControlList &controls) override;
 	void process(IPAContext &context, const uint32_t frame,
 		     IPAFrameContext &frameContext,
 		     const ipu3_uapi_stats_3a *stats,