summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo.mondi@ideasonboard.com>2022-11-24 10:10:26 +0100
committerJacopo Mondi <jacopo.mondi@ideasonboard.com>2023-01-30 11:04:29 +0100
commit1a614866a29ce1e3c185d72975ad9fc37c4f99bd (patch)
tree0b550b5af3f9e7d307485d9b867cb5ded4846eed /include
parente030bac39027cc960727ec3db99a68fcb01e0b2a (diff)
libcamera: camera_sensor: Validate Transform
The two pipeline handlers that currently support Transform (IPU3 and RaspberryPi) implement it by operating H/V flips on the image sensor. Centralize the code that validates a Transform request against the sensor rotation capabilities in the CameraSensor class. The implementation in the IPU3 pipeline handler was copied from the RaspberryPi implementation, and is now centralized in CameraSensor to make it easier for other platforms. The CameraSensor::validateTransform() implementation comes directly from the RaspberryPi pipeline handler, no functional changes intended. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/internal/camera_sensor.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h
index 878f3c28..bea52bad 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;
+enum class Transform;
+
struct CameraSensorProperties;
class CameraSensor : protected Loggable
@@ -68,6 +70,8 @@ public:
CameraLens *focusLens() { return focusLens_.get(); }
+ Transform validateTransform(Transform *transform) const;
+
protected:
std::string logPrefix() const override;