mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-15 08:25:07 +03:00
libcamera: ipa: Raspberry Pi IPA
Initial implementation of the Raspberry Pi (BCM2835) libcamera IPA and associated libraries. All code is licensed under the BSD-2-Clause terms. Copyright (c) 2019-2020 Raspberry Pi Trading Ltd. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
740fd1b62f
commit
0db2c8dc75
69 changed files with 8242 additions and 0 deletions
42
src/ipa/raspberrypi/controller/rpi/lux.hpp
Normal file
42
src/ipa/raspberrypi/controller/rpi/lux.hpp
Normal file
|
@ -0,0 +1,42 @@
|
|||
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||
/*
|
||||
* Copyright (C) 2019, Raspberry Pi (Trading) Limited
|
||||
*
|
||||
* lux.hpp - Lux control algorithm
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <atomic>
|
||||
#include <mutex>
|
||||
|
||||
#include "../lux_status.h"
|
||||
#include "../algorithm.hpp"
|
||||
|
||||
// This is our implementation of the "lux control algorithm".
|
||||
|
||||
namespace RPi {
|
||||
|
||||
class Lux : public Algorithm
|
||||
{
|
||||
public:
|
||||
Lux(Controller *controller);
|
||||
char const *Name() const override;
|
||||
void Read(boost::property_tree::ptree const ¶ms) override;
|
||||
void Prepare(Metadata *image_metadata) override;
|
||||
void Process(StatisticsPtr &stats, Metadata *image_metadata) override;
|
||||
void SetCurrentAperture(double aperture);
|
||||
|
||||
private:
|
||||
// These values define the conditions of the reference image, against
|
||||
// which we compare the new image.
|
||||
double reference_shutter_speed_; // in micro-seconds
|
||||
double reference_gain_;
|
||||
double reference_aperture_; // units of 1/f
|
||||
double reference_Y_; // out of 65536
|
||||
double reference_lux_;
|
||||
std::atomic<double> current_aperture_;
|
||||
LuxStatus status_;
|
||||
std::mutex mutex_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
Loading…
Add table
Add a link
Reference in a new issue