Files
external_libcamera/src/ipa/rpi/controller/agc_status.h
T
David Plowman 68e8476d56 ipa: rpi: agc: Remove digital gain from AgcPrepareStatus
All platforms are now using the digital gain from the AgcStatus, so
the AgcPrepareStatus and prepare() methods can be tidied up.

Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2025-07-21 12:22:32 +01:00

49 lines
1.2 KiB
C++

/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (C) 2019, Raspberry Pi Ltd
*
* AGC/AEC control algorithm status
*/
#pragma once
#include <string>
#include <libcamera/base/utils.h>
#include "hdr_status.h"
/*
* The AGC algorithm process method should post an AgcStatus into the image
* metadata under the tag "agc.status".
* The AGC algorithm prepare method should post an AgcPrepareStatus instead
* under "agc.prepare_status".
*/
/*
* Note: total_exposure_value will be reported as zero until the algorithm has
* seen statistics and calculated meaningful values. The contents should be
* ignored until then.
*/
struct AgcStatus {
libcamera::utils::Duration totalExposureValue; /* value for all exposure and gain for this image */
libcamera::utils::Duration targetExposureValue; /* (unfiltered) target total exposure AGC is aiming for */
libcamera::utils::Duration exposureTime;
double analogueGain;
double digitalGain;
std::string exposureMode;
std::string constraintMode;
std::string meteringMode;
double ev;
libcamera::utils::Duration flickerPeriod;
int floatingRegionEnable;
libcamera::utils::Duration fixedExposureTime;
double fixedGain;
unsigned int channel;
HdrStatus hdr;
};
struct AgcPrepareStatus {
int locked;
};