15#include <libcamera/ipa/soft_ipa_interface.h>
16#include <libcamera/ipa/soft_ipa_proxy.h>
18#include "libcamera/internal/dma_heaps.h"
19#include "libcamera/internal/software_isp.h"
20#include "libcamera/internal/software_isp/debayer_cpu.h"
62 std::vector<PixelFormat> formats(
PixelFormat input);
80 std::tuple<unsigned int, unsigned int>
92 const std::vector<std::reference_wrapper<StreamConfiguration>> &outputCfgs,
104 std::vector<std::unique_ptr<FrameBuffer>> *buffers);
132 const std::map<unsigned int, FrameBuffer *> &outputs);
149 void saveIspParams(
int dummy);
150 void statsReady(
int dummy);
154 std::unique_ptr<DebayerCpu> debayer_;
160 std::unique_ptr<ipa::soft::IPAProxySoft> ipa_;
A map of ControlId to ControlInfo.
Definition controls.h:306
Associate a list of ControlId with their values for an object.
Definition controls.h:350
Definition dma_heaps.h:18
Frame buffer data and its associated dynamic metadata.
Definition framebuffer.h:50
Create and manage cameras based on a set of media devices.
Definition pipeline_handler.h:39
Helper class for shared memory allocations.
Definition shared_mem_object.h:31
Generic signal and slot communication mechanism.
Definition signal.h:39
Describe a range of sizes.
Definition geometry.h:201
Describe a two-dimensional size.
Definition geometry.h:53
Base class for the Software ISP.
Definition software_isp.h:40
Class for the Simple Software ISP.
Definition swisp_simple.h:30
void processStats(const ControlList &sensorControls)
Process the statistics gathered.
Definition swisp_simple.cpp:81
int start()
Starts the Software ISP worker.
Definition swisp_simple.cpp:192
SizeRange sizes(PixelFormat inputFormat, const Size &inputSize)
Get the supported output sizes for the given input format and size.
Definition swisp_simple.cpp:105
int exportBuffers(unsigned int output, unsigned int count, std::vector< std::unique_ptr< FrameBuffer > > *buffers)
Exports the buffers for use in processing.
Definition swisp_simple.cpp:133
Signal< const ControlList & > & getSignalSetSensorControls()
Get the signal for when the sensor controls are set.
Definition swisp_simple.cpp:87
bool isValid() const
Gets if there is a valid debayer object.
Definition swisp_simple.cpp:93
int loadConfiguration(const std::string &filename)
Load a configuration from a file.
Definition swisp_simple.h:47
void process(FrameBuffer *input, FrameBuffer *output)
Process the input framebuffer.
Definition swisp_simple.cpp:210
void stop()
Stops the Software ISP worker.
Definition swisp_simple.cpp:202
std::tuple< unsigned int, unsigned int > strideAndFrameSize(const PixelFormat &outputFormat, const Size &size)
Get the stride and the frame size.
Definition swisp_simple.cpp:113
int queueBuffers(FrameBuffer *input, const std::map< unsigned int, FrameBuffer * > &outputs)
Queues buffers for processing.
Definition swisp_simple.cpp:163
int configure(const StreamConfiguration &inputCfg, const std::vector< std::reference_wrapper< StreamConfiguration > > &outputCfgs, const ControlInfoMap &sensorControls)
Configure the SwIspSimple object according to the passed in parameters.
Definition swisp_simple.cpp:120
A thread of execution.
Definition thread.h:29
Top-level libcamera namespace.
Definition backtrace.h:17
Struct to hold the debayer parameters.
Definition debayer_params.h:18
Configuration parameters for a stream.
Definition stream.h:41