/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (C) 2019, Raspberry Pi (Trading) Limited * * agc_status.h - AGC/AEC control algorithm status */ #pragma once #include <libcamera/base/utils.h> // The AGC algorithm should post the following structure into the image's // "agc.status" metadata. #ifdef __cplusplus extern "C" { #endif // 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 total_exposure_value; // value for all exposure and gain for this image libcamera::utils::Duration target_exposure_value; // (unfiltered) target total exposure AGC is aiming for libcamera::utils::Duration shutter_time; double analogue_gain; char exposure_mode[32]; char constraint_mode[32]; char metering_mode[32]; double ev; libcamera::utils::Duration flicker_period; int floating_region_enable; libcamera::utils::Duration fixed_shutter; double fixed_analogue_gain; double digital_gain; int locked; }; #ifdef __cplusplus } #endif