summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/lux_status.h
blob: c1134bec36942afe764d69994d4d894edd1df140 (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
/* SPDX-License-Identifier: BSD-2-Clause */
/*
 * Copyright (C) 2019, Raspberry Pi (Trading) Limited
 *
 * lux_status.h - Lux control algorithm status
 */
#pragma once

/*
 * The "lux" algorithm looks at the (AGC) histogram statistics of the frame and
 * estimates the current lux level of the scene. It does this by a simple ratio
 * calculation comparing to a reference image that was taken in known conditions
 * with known statistics and a properly measured lux level. There is a slight
 * problem with aperture, in that it may be variable without the system knowing
 * or being aware of it. In this case an external application may set a
 * "current_aperture" value if it wishes, which would be used in place of the
 * (presumably meaningless) value in the image metadata.
 */

#ifdef __cplusplus
extern "C" {
#endif

struct LuxStatus {
	double lux;
	double aperture;
};

#ifdef __cplusplus
}
#endif