/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (C) 2019, Raspberry Pi (Trading) Limited * * dpc.cpp - DPC (defective pixel correction) control algorithm */ #include #include "dpc.hpp" using namespace RPiController; using namespace libcamera; LOG_DEFINE_CATEGORY(RPiDpc) // We use the lux status so that we can apply stronger settings in darkness (if // necessary). #define NAME "rpi.dpc" Dpc::Dpc(Controller *controller) : Algorithm(controller) { } char const *Dpc::Name() const { return NAME; } void Dpc::Read(boost::property_tree::ptree const ¶ms) { config_.strength = params.get("strength", 1); if (config_.strength < 0 || config_.strength > 2) throw std::runtime_error("Dpc: bad strength value"); } void Dpc::Prepare(Metadata *image_metadata) { DpcStatus dpc_status = {}; // Should we vary this with lux level or analogue gain? TBD. dpc_status.strength = config_.strength; LOG(RPiDpc, Debug) << "strength " << dpc_status.strength; image_metadata->Set("dpc.status", dpc_status); } // Register algorithm with the system. static Algorithm *Create(Controller *controller) { return (Algorithm *)new Dpc(controller); } static RegisterAlgorithm reg(NAME, &Create); isi/raw_sensor_v2'>isi/raw_sensor_v2 Jacopo Mondi's clone of libcameragit repository hosting on libcamera.org
summaryrefslogtreecommitdiff
blob: fd4c5ca07c154a7bca60e631a8fcaac349af8dc8 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89