[libcamera-devel] [PATCH] pipeline: rpi: Reset the frame lengths queue during configure
Naushir Patuck
naush at raspberrypi.com
Mon Sep 18 11:10:45 CEST 2023
The IPA stores a list of the last 10 frame lengths applied to the
sensor for determining the timeout to use. This list gets reset on
start(), but there is a path through the code that accesses this list
in configure() which happens earlier, causing a logical error.
Fix this by constructing the list with 10 initial values of 0s.
Bug: https://github.com/raspberrypi/libcamera/issues/64
Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
---
src/ipa/rpi/common/ipa_base.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp
index f7e7ad5ee499..f0ce6c75dc03 100644
--- a/src/ipa/rpi/common/ipa_base.cpp
+++ b/src/ipa/rpi/common/ipa_base.cpp
@@ -100,8 +100,8 @@ LOG_DEFINE_CATEGORY(IPARPI)
namespace ipa::RPi {
IpaBase::IpaBase()
- : controller_(), frameCount_(0), mistrustCount_(0), lastRunTimestamp_(0),
- firstStart_(true), flickerState_({ 0, 0s })
+ : controller_(), frameLengths_(FrameLengthsQueueSize, 0s), frameCount_(0),
+ mistrustCount_(0), lastRunTimestamp_(0), firstStart_(true), flickerState_({ 0, 0s })
{
}
--
2.34.1
More information about the libcamera-devel
mailing list