[libcamera-devel] [PATCH] ipa: raspberrypi: Fix bug in IPA frame drop logic

Naushir Patuck naush at raspberrypi.com
Wed Nov 30 11:52:53 CET 2022


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 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..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;
-- 
2.25.1



More information about the libcamera-devel mailing list