summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2022-11-24 10:10:26 +0100
committerJacopo Mondi <jacopo@jmondi.org>2022-12-01 11:26:44 +0100
commitd36c111656627392c90b558e6a9b6ba832c5b9cd (patch)
tree6a8371fd4d8c32d32c382b9565e3ac327e6020c8 /include
parent869dea59a3f135d076a6c14e0d90674ef60be529 (diff)
libcamera: camera_sensor: Validate Transform
The two pipeline handlers that currently support Transform do so by operating H/V flips on the image sensor, instead of rotating on the ISP. As the image sensor performs the actual rotation, centralize the code that validates a requested Transform against the camera sensor rotation and 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 that do not rotate on the ISP to implement support for Transform using the CameraSensor class. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
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;