12 #include <initializer_list> 29 #include <libcamera/ipa/soft_ipa_interface.h> 30 #include <libcamera/ipa/soft_ipa_proxy.h> 33 #include "libcamera/internal/dma_buf_allocator.h" 35 #include "libcamera/internal/shared_mem_object.h" 36 #include "libcamera/internal/software_isp/debayer_params.h" 44 struct StreamConfiguration;
59 std::vector<PixelFormat> formats(
PixelFormat input);
63 std::tuple<unsigned int, unsigned int>
67 const std::vector<std::reference_wrapper<StreamConfiguration>> &outputCfgs,
68 const ipa::soft::IPAConfigInfo &configInfo);
70 int exportBuffers(
const Stream *stream,
unsigned int count,
71 std::vector<std::unique_ptr<FrameBuffer>> *buffers);
73 void processStats(
const uint32_t frame,
const uint32_t bufferId,
80 int queueBuffers(uint32_t frame,
FrameBuffer *input,
81 const std::map<const Stream *, FrameBuffer *> &outputs);
93 void setSensorCtrls(
const ControlList &sensorControls);
94 void statsReady(uint32_t frame, uint32_t bufferId);
98 std::unique_ptr<DebayerCpu> debayer_;
105 std::unique_ptr<ipa::soft::IPAProxySoft> ipa_;
106 std::deque<FrameBuffer *> queuedInputBuffers_;
107 std::deque<FrameBuffer *> queuedOutputBuffers_;
Signal< uint32_t, const ControlList & > metadataReady
A signal emitted when the metadata for IPA is ready.
Definition: software_isp.h:88
Struct to hold the debayer parameters.
Definition: debayer_params.h:18
Utilities to help constructing class interfaces.
Signal< uint32_t, uint32_t > ispStatsReady
A signal emitted when the statistics for IPA are ready.
Definition: software_isp.h:87
Helper class for dma-buf allocations.
Definition: dma_buf_allocator.h:23
int loadConfiguration([[maybe_unused]] const std::string &filename)
Load a configuration from a file.
Definition: software_isp.h:55
Video stream for a camera.
Definition: stream.h:75
Top-level libcamera namespace.
Definition: backtrace.h:17
Class for the Software ISP.
Definition: software_isp.h:48
Frame buffer data and its associated dynamic metadata.
Definition: framebuffer.h:48
Describe a two-dimensional size.
Definition: geometry.h:50
Signal< FrameBuffer * > inputBufferReady
A signal emitted when the input frame buffer completes.
Definition: software_isp.h:85
A thread of execution.
Definition: thread.h:30
Helper class to allocate an object in shareable memory.
Definition: shared_mem_object.h:59
A map of ControlId to ControlInfo.
Definition: controls.h:366
#define LOG_DECLARE_CATEGORY(name)
Declare a category of log messages.
Signal & slot implementation.
A abstract camera sensor.
Definition: camera_sensor.h:38
Create and manage cameras based on a set of media devices.
Definition: pipeline_handler.h:33
Signal< const ControlList & > setSensorControls
A signal emitted when the values to write to the sensor controls are ready.
Definition: software_isp.h:89
Base object to support automatic signal disconnection.
Generic signal and slot communication mechanism.
Definition: object.h:22
Describe a range of sizes.
Definition: geometry.h:198
const ControlIdMap controls
List of all supported libcamera controls.
Definition: control_ids.cpp:2205
Associate a list of ControlId with their values for an object.
Definition: controls.h:410
Data structures related to geometric objects.
Base object to support automatic signal disconnection.
Definition: object.h:26
Configuration parameters for a stream.
Definition: stream.h:40
Create pipelines and cameras from a set of media devices.
Signal< FrameBuffer * > outputBufferReady
A signal emitted when the output frame buffer completes.
Definition: software_isp.h:86