11 #include <unordered_map> 28 const std::unordered_map<uint32_t, ControlParams> &controlParams);
55 static constexpr
int listSize = 16;
56 class ControlRingBuffer :
public std::array<Info, listSize>
59 Info &operator[](
unsigned int index)
61 return std::array<Info, listSize>::operator[](index % listSize);
64 const Info &operator[](
unsigned int index)
const 66 return std::array<Info, listSize>::operator[](index % listSize);
72 std::unordered_map<const ControlId *, ControlParams> controlParams_;
73 unsigned int maxDelay_;
78 std::unordered_map<const ControlId *, ControlRingBuffer> values_;
Base class for V4L2VideoDevice and V4L2Subdevice.
Definition: v4l2_device.h:31
bool push(const ControlList &controls)
Push a set of controls on the queue.
Definition: delayed_controls.cpp:149
Top-level libcamera namespace.
Definition: backtrace.h:17
void reset()
Reset state machine.
Definition: delayed_controls.cpp:116
Abstract type representing the value of a control.
Definition: controls.h:118
Helper to deal with controls that take effect with a delay.
Definition: delayed_controls.h:19
Parameters associated with controls handled by the DelayedControls helper class.
Definition: delayed_controls.h:22
void applyControls(uint32_t sequence)
Inform DelayedControls of the start of a new frame.
Definition: delayed_controls.cpp:232
bool priorityWrite
Flag to indicate that this control must be applied ahead of, and separately from the other controls...
Definition: delayed_controls.h:24
DelayedControls(V4L2Device *device, const std::unordered_map< uint32_t, ControlParams > &controlParams)
Construct a DelayedControls instance.
Definition: delayed_controls.cpp:74
const ControlIdMap controls
List of all supported libcamera controls.
Definition: control_ids.cpp:1952
Associate a list of ControlId with their values for an object.
Definition: controls.h:380
Framework to manage controls related to an object.
unsigned int delay
Frame delay from setting the control on a sensor device to when it is consumed during framing...
Definition: delayed_controls.h:23