summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/camera.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
index 004bc894..decf4ec0 100644
--- a/include/libcamera/camera.h
+++ b/include/libcamera/camera.h
@@ -9,6 +9,7 @@
#include <initializer_list>
#include <memory>
+#include <optional>
#include <set>
#include <stdint.h>
#include <string>
@@ -19,6 +20,7 @@
#include <libcamera/base/signal.h>
#include <libcamera/controls.h>
+#include <libcamera/geometry.h>
#include <libcamera/request.h>
#include <libcamera/stream.h>
#include <libcamera/transform.h>
@@ -30,6 +32,30 @@ class FrameBufferAllocator;
class PipelineHandler;
class Request;
+class SensorConfiguration
+{
+public:
+ unsigned int bitDepth = 0;
+
+ Rectangle analogCrop;
+
+ struct {
+ unsigned int binX = 1;
+ unsigned int binY = 1;
+ } binning;
+
+ struct {
+ unsigned int xOddInc = 1;
+ unsigned int xEvenInc = 1;
+ unsigned int yOddInc = 1;
+ unsigned int yEvenInc = 1;
+ } skipping;
+
+ Size outputSize;
+
+ bool isValid() const;
+};
+
class CameraConfiguration
{
public:
@@ -66,6 +92,7 @@ public:
bool empty() const;
std::size_t size() const;
+ std::optional<SensorConfiguration> sensorConfig;
Transform transform;
protected: