[libcamera-devel] [PATCH] pipeline: raspberrypi: Set sensor default orientation before configure()
Naushir Patuck
naush at raspberrypi.com
Tue Jul 21 11:23:06 CEST 2020
The default sensor orientation must be set early on in match() to ensure
generateConfiguration() and configure() return out the correct Bayer
ordering to the application. This is particularly important for RAW
capture streams.
Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
---
src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
index bf1c7714..e9084afd 100644
--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
@@ -962,6 +962,13 @@ bool PipelineHandlerRPi::match(DeviceEnumerator *enumerator)
/* Initialize the camera properties. */
data->properties_ = data->sensor_->properties();
+ /* Configure the H/V flip controls based on the sensor rotation. */
+ ControlList ctrls(data->unicam_[Unicam::Image].dev()->controls());
+ int32_t rotation = data->properties_.get(properties::Rotation);
+ ctrls.set(V4L2_CID_HFLIP, static_cast<int32_t>(!!rotation));
+ ctrls.set(V4L2_CID_VFLIP, static_cast<int32_t>(!!rotation));
+ data->unicam_[Unicam::Image].dev()->setControls(&ctrls);
+
/*
* List the available output streams.
* Currently cannot do Unicam streams!
@@ -1165,13 +1172,6 @@ int RPiCameraData::configureIPA()
{ V4L2_CID_EXPOSURE, result.data[1] } });
sensorMetadata_ = result.data[2];
}
-
- /* Configure the H/V flip controls based on the sensor rotation. */
- ControlList ctrls(unicam_[Unicam::Image].dev()->controls());
- int32_t rotation = sensor_->properties().get(properties::Rotation);
- ctrls.set(V4L2_CID_HFLIP, static_cast<int32_t>(!!rotation));
- ctrls.set(V4L2_CID_VFLIP, static_cast<int32_t>(!!rotation));
- unicam_[Unicam::Image].dev()->setControls(&ctrls);
}
if (result.operation & RPI_IPA_CONFIG_SENSOR) {
--
2.25.1
More information about the libcamera-devel
mailing list