diff options
author | Paul Elder <paul.elder@ideasonboard.com> | 2024-12-16 16:20:10 +0900 |
---|---|---|
committer | Paul Elder <paul.elder@ideasonboard.com> | 2024-12-23 17:38:40 +0900 |
commit | 344064a1115d3d14640046d0edea960ba1ede45c (patch) | |
tree | 91159f40b4894344c27a3da3128dcb05effef59a /src/ipa/rkisp1/algorithms/lux.h | |
parent | bd077a11eed5bad324cfe72ae04f8d3835bb2459 (diff) |
ipa: rkisp1: Add Lux algorithm module
Add a lux algorithm module to rkisp1 IPA for estimating the lux level of
an image. This is reported in metadata, as well as saved in the frame
context so that other algorithms (mainly AGC) can use its value. It does
not set any controls.
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Isaac Scott <isaac.scott@ideasonboard.com>
Diffstat (limited to 'src/ipa/rkisp1/algorithms/lux.h')
-rw-r--r-- | src/ipa/rkisp1/algorithms/lux.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/ipa/rkisp1/algorithms/lux.h b/src/ipa/rkisp1/algorithms/lux.h new file mode 100644 index 00000000..8a90de55 --- /dev/null +++ b/src/ipa/rkisp1/algorithms/lux.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2024, Ideas On Board + * + * lux.h - RkISP1 Lux control + */ + +#pragma once + +#include <sys/types.h> + +#include "libipa/lux.h" + +#include "algorithm.h" + +namespace libcamera { + +namespace ipa::rkisp1::algorithms { + +class Lux : public Algorithm +{ +public: + Lux(); + + int init(IPAContext &context, const YamlObject &tuningData) override; + void process(IPAContext &context, const uint32_t frame, + IPAFrameContext &frameContext, + const rkisp1_stat_buffer *stats, + ControlList &metadata) override; + +private: + ipa::Lux lux_; +}; + +} /* namespace ipa::rkisp1::algorithms */ +} /* namespace libcamera */ |