blob: 20cb1b624b33fac7e23822d9c3661c7ac3876382 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/* 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
|