[PATCH v1 1/4] ipa: rkisp1: algorithms: agc: Check for correct stats type

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Oct 16 15:33:06 CEST 2024


Quoting Stefan Klug (2024-10-15 21:38:12)
> Sometimes the ISP produces statistics only with a subset of statistic
> types being valid. It doesn't happen often, but it happens.  Check for
> the RKISP1_CIF_ISP_STAT_AUTOEXP bit to prevent using invalid or outdated
> data.
> 
> Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
> ---
>  src/ipa/rkisp1/algorithms/agc.cpp | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
> index 17d074d9c03e..5683707fa91a 100644
> --- a/src/ipa/rkisp1/algorithms/agc.cpp
> +++ b/src/ipa/rkisp1/algorithms/agc.cpp
> @@ -398,7 +398,7 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
>                   IPAFrameContext &frameContext, const rkisp1_stat_buffer *stats,
>                   ControlList &metadata)
>  {
> -       if (!stats) {
> +       if (!(stats && stats->meas_type & RKISP1_CIF_ISP_STAT_AUTOEXP)) {
>                 fillMetadata(context, frameContext, metadata);
>                 return;
>         }
> @@ -412,7 +412,6 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
>          */
>  
>         const rkisp1_cif_isp_stat *params = &stats->params;
> -       ASSERT(stats->meas_type & RKISP1_CIF_ISP_STAT_AUTOEXP);

Did you hit this ?
But I think it seems reasonable


Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

>  
>         /* The lower 4 bits are fractional and meant to be discarded. */
>         Histogram hist({ params->hist.hist_bins, context.hw->numHistogramBins },
> -- 
> 2.43.0
>


More information about the libcamera-devel mailing list