[libcamera-devel,v2,08/10] libcamera: src: ipa: raspberrypi: agc: Fix uninitialised members in Agc constructor
diff mbox series

Message ID 20201123073804.3125-9-david.plowman@raspberrypi.com
State Accepted
Commit 393f05a9a8044dba26251ba5a4b0827b714cd15f
Headers show
Series
  • Raspberry Pi AGC
Related show

Commit Message

David Plowman Nov. 23, 2020, 7:38 a.m. UTC
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 <david.plowman@raspberrypi.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
---
 src/ipa/raspberrypi/controller/rpi/agc.cpp | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

Patch
diff mbox series

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 &params)
 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