[PATCH v2 13/19] libcamera: software_isp: Call Algorithm::process

Umang Jain umang.jain at ideasonboard.com
Sat Jul 13 18:08:38 CEST 2024


Hi Milan

On 03/07/24 11:21 pm, Milan Zamazal wrote:
> This patch adds Algorithm::process call for the defined algorithms.
> This is preparation only since there are currently no Algorithm based
> algorithms defined.
>
> As software ISP currently doesn't produce any metadata, a dummy and
> unused metadata instance is created to satisfy Algorithm::process API.
> This should be changed in future.
>
> Signed-off-by: Milan Zamazal <mzamazal at redhat.com>

Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
> ---
>   src/ipa/simple/soft_simple.cpp | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/src/ipa/simple/soft_simple.cpp b/src/ipa/simple/soft_simple.cpp
> index f4a6bdf4..a8499f29 100644
> --- a/src/ipa/simple/soft_simple.cpp
> +++ b/src/ipa/simple/soft_simple.cpp
> @@ -287,10 +287,21 @@ void IPASoftSimple::prepare(const uint32_t frame)
>   }
>   
>   void IPASoftSimple::processStats(
> -	[[maybe_unused]] const uint32_t frame,
> +	const uint32_t frame,
>   	[[maybe_unused]] const uint32_t bufferId,
>   	const ControlList &sensorControls)
>   {
> +	IPAFrameContext &frameContext = context_.frameContexts.get(frame);
> +	/*
> +	 * Software ISP currently does not produce any metadata. Use an empty
> +	 * ControlList for now.
> +	 *
> +	 * \todo Implement proper metadata handling
> +	 */
> +	ControlList metadata(controls::controls);
> +	for (auto const &algo : algorithms())
> +		algo->process(context_, frame, frameContext, stats_, metadata);
> +
>   	SwIspStats::Histogram histogram = stats_->yHistogram;
>   	if (ignoreUpdates_ > 0)
>   		blackLevel_.update(histogram);



More information about the libcamera-devel mailing list