From e1b70e764fdeaaf423ec22776100be40e59bb0c3 Mon Sep 17 00:00:00 2001 From: Hirokazu Honda Date: Mon, 6 Dec 2021 14:49:17 +0900 Subject: libcamera: camera_sensor: Enable to set a test pattern mode This adds a function to set a camera sensor driver a test pattern mode. CameraSensor initializes the test pattern mode by Off. Signed-off-by: Hirokazu Honda Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart Signed-off-by: Jacopo Mondi --- include/libcamera/internal/camera_sensor.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h index bb70ed9e..2fa11567 100644 --- a/include/libcamera/internal/camera_sensor.h +++ b/include/libcamera/internal/camera_sensor.h @@ -29,6 +29,8 @@ class BayerFormat; class CameraLens; class MediaEntity; +struct CameraSensorProperties; + class CameraSensor : protected Loggable { public: @@ -47,6 +49,7 @@ public: { return testPatternModes_; } + int setTestPatternMode(controls::draft::TestPatternModeEnum mode); V4L2SubdeviceFormat getFormat(const std::vector &mbusCodes, const Size &size) const; @@ -75,15 +78,16 @@ private: int validateSensorDriver(); void initVimcDefaultProperties(); void initStaticProperties(); - void initTestPatternModes( - const std::map - &testPatternModeMap); + void initTestPatternModes(); int initProperties(); + int applyTestPatternMode(controls::draft::TestPatternModeEnum mode); const MediaEntity *entity_; std::unique_ptr subdev_; unsigned int pad_; + const CameraSensorProperties *staticProps_; + std::string model_; std::string id_; @@ -91,6 +95,7 @@ private: std::vector mbusCodes_; std::vector sizes_; std::vector testPatternModes_; + controls::draft::TestPatternModeEnum testPatternMode_; Size pixelArraySize_; Rectangle activeArea_; -- cgit v1.2.1