summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/lux_status.h
blob: 8ccfd933829b7a9a68c8e5a62a856102e8fb466d (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
/* 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