summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/agc_algorithm.hpp
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2021-01-29 11:16:15 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-02-05 01:23:53 +0200
commit47d243c44a82c001baddd496bf754cc761dce837 (patch)
treee7e6d26b3b7261251d7ae7fea6a539f8805ea785 /src/ipa/raspberrypi/controller/agc_algorithm.hpp
parent362301b1313085f198b463f3ce4df794df50ad0d (diff)
ipa: raspberrypi: Pass the maximum allowable shutter speed into the AGC
In order to provide an optimal split between shutter speed and gain, the AGC must know the maximum allowable shutter speed, as limited by the maximum frame duration (either application provided or the default). Add a new API function, SetMaxShutter, to the AgcAlgorithm class. The IPA provides the maximum shutter speed for AGC calculations. This applies to both the manual and auto AGC modes. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/raspberrypi/controller/agc_algorithm.hpp')
-rw-r--r--src/ipa/raspberrypi/controller/agc_algorithm.hpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/ipa/raspberrypi/controller/agc_algorithm.hpp b/src/ipa/raspberrypi/controller/agc_algorithm.hpp
index 981f1de2..f97deb0f 100644
--- a/src/ipa/raspberrypi/controller/agc_algorithm.hpp
+++ b/src/ipa/raspberrypi/controller/agc_algorithm.hpp
@@ -19,6 +19,7 @@ public:
virtual void SetEv(double ev) = 0;
virtual void SetFlickerPeriod(double flicker_period) = 0;
virtual void SetFixedShutter(double fixed_shutter) = 0; // microseconds
+ virtual void SetMaxShutter(double max_shutter) = 0; // microseconds
virtual void SetFixedAnalogueGain(double fixed_analogue_gain) = 0;
virtual void SetMeteringMode(std::string const &metering_mode_name) = 0;
virtual void SetExposureMode(std::string const &exposure_mode_name) = 0;