libcamera: ipa: raspberrypi: agc: Fetch AWB status only once

Introduce a function to fetch the AwbStatus (fetchAwbStatus), and call
it unconditionally at the top of Prepare so that both Prepare and
Process know thereafter that it's been done.

Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
David Plowman 2020-11-23 07:37:59 +00:00 committed by Kieran Bingham
parent 9db94a3635
commit f185a16833
2 changed files with 21 additions and 19 deletions

View file

@ -83,11 +83,11 @@ private:
AgcConfig config_;
void housekeepConfig();
void fetchCurrentExposure(Metadata *image_metadata);
void fetchAwbStatus(Metadata *image_metadata);
void computeGain(bcm2835_isp_stats *statistics, Metadata *image_metadata,
double &gain, double &target_Y);
void computeTargetExposure(double gain);
bool applyDigitalGain(Metadata *image_metadata, double gain,
double target_Y);
bool applyDigitalGain(double gain, double target_Y);
void filterExposure(bool desaturate);
void divideUpExposure();
void writeAndFinish(Metadata *image_metadata, bool desaturate);
@ -95,6 +95,7 @@ private:
AgcExposureMode *exposure_mode_;
AgcConstraintMode *constraint_mode_;
uint64_t frame_count_;
AwbStatus awb_;
struct ExposureValues {
ExposureValues() : shutter(0), analogue_gain(0),
total_exposure(0), total_exposure_no_dg(0) {}