[libcamera-devel] ipa: raspberrypi: Fix bug in IPA frame drop logic
diff mbox series

Message ID 20221130105253.12497-1-naush@raspberrypi.com
State Accepted
Headers show
Series
  • [libcamera-devel] ipa: raspberrypi: Fix bug in IPA frame drop logic
Related show

Commit Message

Naushir Patuck Nov. 30, 2022, 10:52 a.m. UTC
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.

Fixes: 546154b13433 ("pipeline: ipa: raspberrypi: Use IPA cookies")
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
 src/ipa/raspberrypi/raspberrypi.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp
index 0f914f841e54..c0e7540bcd2e 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 - 1 : rpiMetadata_.size()];
 		rpiMetadata.mergeCopy(lastMetadata);
 		processPending_ = false;
 		return;