libcamera: Use CameraConfiguration::orientation

Replace the usage of CameraConfiguration::transform with the newly
introduced CameraConfiguration::orientation.

Rework and rename the CameraSensor::validateTransform(transform) to
CameraSensor::computeTransform(orientation), that given the desired
image orientation computes the Transform that pipeline handlers should
apply to the sensor to obtain it.

Port all pipeline handlers to use the newly introduced function.

This commit breaks existing applications as it removes the public
CameraConfiguration::transform in favour of
CameraConfiguration::orientation.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Jacopo Mondi 2023-10-19 16:01:31 +02:00 committed by Laurent Pinchart
parent a28f871836
commit c65e40b848
11 changed files with 67 additions and 87 deletions

View file

@ -24,7 +24,6 @@
#include <libcamera/orientation.h>
#include <libcamera/request.h>
#include <libcamera/stream.h>
#include <libcamera/transform.h>
namespace libcamera {
@ -94,7 +93,6 @@ public:
std::size_t size() const;
std::optional<SensorConfiguration> sensorConfig;
Transform transform;
Orientation orientation;
protected:

View file

@ -33,6 +33,8 @@ class SensorConfiguration;
struct CameraSensorProperties;
enum class Orientation;
class CameraSensor : protected Loggable
{
public:
@ -76,7 +78,7 @@ public:
CameraLens *focusLens() { return focusLens_.get(); }
Transform validateTransform(Transform *transform) const;
Transform computeTransform(Orientation *orientation) const;
protected:
std::string logPrefix() const override;