From 393f05a9a8044dba26251ba5a4b0827b714cd15f Mon Sep 17 00:00:00 2001 From: David Plowman Date: Mon, 23 Nov 2020 07:38:02 +0000 Subject: libcamera: src: ipa: raspberrypi: agc: Fix uninitialised members in Agc constructor Use memset in the constructor for embedded structures, it is tidier and initialises everything. We use the initialiser list for other members. Signed-off-by: David Plowman Reviewed-by: Naushir Patuck Acked-by: Kieran Bingham Signed-off-by: Kieran Bingham --- src/ipa/raspberrypi/controller/rpi/agc.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/ipa/raspberrypi/controller') diff --git a/src/ipa/raspberrypi/controller/rpi/agc.cpp b/src/ipa/raspberrypi/controller/rpi/agc.cpp index 2533727e..d7d37055 100644 --- a/src/ipa/raspberrypi/controller/rpi/agc.cpp +++ b/src/ipa/raspberrypi/controller/rpi/agc.cpp @@ -153,16 +153,15 @@ void AgcConfig::Read(boost::property_tree::ptree const ¶ms) Agc::Agc(Controller *controller) : AgcAlgorithm(controller), metering_mode_(nullptr), exposure_mode_(nullptr), constraint_mode_(nullptr), - frame_count_(0), lock_count_(0) -{ - ev_ = status_.ev = 1.0; - flicker_period_ = status_.flicker_period = 0.0; - fixed_shutter_ = status_.fixed_shutter = 0; - fixed_analogue_gain_ = status_.fixed_analogue_gain = 0.0; - // set to zero initially, so we can tell it's not been calculated - status_.total_exposure_value = 0.0; - status_.target_exposure_value = 0.0; - status_.locked = false; + frame_count_(0), lock_count_(0), + ev_(1.0), flicker_period_(0.0), + fixed_shutter_(0), fixed_analogue_gain_(0.0) +{ + memset(&awb_, 0, sizeof(awb_)); + // Setting status_.total_exposure_value_ to zero initially tells us + // it's not been calculated yet (i.e. Process hasn't yet run). + memset(&status_, 0, sizeof(status_)); + status_.ev = ev_; } char const *Agc::Name() const -- cgit v1.2.1