summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo.mondi@ideasonboard.com>2023-09-21 18:55:40 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-09-27 14:39:22 +0300
commitf446c23842d080bdc2e8a81fe4328762e22e39ec (patch)
treebeb1893b0e48f968005e100a95496258fc55edad /include
parent1602043e626eee55944820dd17a242e352f9ab1f (diff)
libcamera: camera_sensor: Support SensorConfiguration
Add a class function to the CameraSensor class to apply a full configuration to the sensor. The configuration shall be fully populated and shall apply without modifications to the sensor. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/internal/camera_sensor.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h
index 02c77ab0..06791c3c 100644
--- a/include/libcamera/internal/camera_sensor.h
+++ b/include/libcamera/internal/camera_sensor.h
@@ -29,6 +29,7 @@ namespace libcamera {
class BayerFormat;
class CameraLens;
class MediaEntity;
+class SensorConfiguration;
struct CameraSensorProperties;
@@ -58,6 +59,10 @@ public:
Transform transform = Transform::Identity);
int tryFormat(V4L2SubdeviceFormat *format) const;
+ int applyConfiguration(const SensorConfiguration &config,
+ Transform transform = Transform::Identity,
+ V4L2SubdeviceFormat *sensorFormat = nullptr);
+
const ControlInfoMap &controls() const;
ControlList getControls(const std::vector<uint32_t> &ids);
int setControls(ControlList *ctrls);