[libcamera-devel] [PATCH] ipa: raspberrypi: Fix bug in IPA frame drop logic
Kieran Bingham
kieran.bingham at ideasonboard.com
Wed Nov 30 13:24:07 CET 2022
Quoting Naushir Patuck via libcamera-devel (2022-11-30 11:37:27)
> Fix a bug in the IPA frame dropping (for rate control) logic, where the
> metadata for the current context was copied from itself (i.e. a no-op), instead
> of being copied from the previous context.
>
> This bug does not occur in normal conditions, only when running with a low
> exposure time and unconstrained framerate, which happens in a particular
> picamera2 test.
>
I thought that -1 being excluded from 0 on v1 would cause problems ;-)
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Fixes: 546154b13433 ("pipeline: ipa: raspberrypi: Use IPA cookies")
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> ---
> src/ipa/raspberrypi/raspberrypi.cpp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp
> index 0f914f841e54..bead436def3c 100644
> --- a/src/ipa/raspberrypi/raspberrypi.cpp
> +++ b/src/ipa/raspberrypi/raspberrypi.cpp
> @@ -1062,7 +1062,7 @@ void IPARPi::prepareISP(const ISPConfig &data)
> * in helper_->Prepare().
> */
> RPiController::Metadata &lastMetadata =
> - rpiMetadata_[ipaContext ? ipaContext : rpiMetadata_.size()];
> + rpiMetadata_[(ipaContext ? ipaContext : rpiMetadata_.size()) - 1];
> rpiMetadata.mergeCopy(lastMetadata);
> processPending_ = false;
> return;
> --
> 2.25.1
>
More information about the libcamera-devel
mailing list