ipa: raspberrypi: agc: Move weights out of AGC

The region weights for the the AGC zones are handled by the AGC
algorithm. Apply them directly in the IPA (vc4.cpp) to the statistics
that we pass to the AGC.

Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
David Plowman
2023-05-03 13:20:32 +01:00
committed by Laurent Pinchart
parent d903fdbe31
commit 503bebd0ed
4 changed files with 41 additions and 16 deletions
+3
View File
@@ -6,6 +6,8 @@
*/
#pragma once
#include <vector>
#include <libcamera/base/utils.h>
#include "algorithm.h"
@@ -18,6 +20,7 @@ public:
AgcAlgorithm(Controller *controller) : Algorithm(controller) {}
/* An AGC algorithm must provide the following: */
virtual unsigned int getConvergenceFrames() const = 0;
virtual std::vector<double> const &getWeights() const = 0;
virtual void setEv(double ev) = 0;
virtual void setFlickerPeriod(libcamera::utils::Duration flickerPeriod) = 0;
virtual void setFixedShutter(libcamera::utils::Duration fixedShutter) = 0;