/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (C) 2019, Raspberry Pi (Trading) Limited * * agc_status.h - AGC/AEC control algorithm status */ #pragma once #include // 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 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 shutterTime; double analogueGain; char exposureMode[32]; char constraintMode[32]; char meteringMode[32]; double ev; libcamera::utils::Duration flickerPeriod; int floatingRegionEnable; libcamera::utils::Duration fixedShutter; double fixedAnalogueGain; double digitalGain; int locked; }; #ifdef __cplusplus } #endif