[libcamera-devel] [PATCH v4 1/5] libcamera: camera_sensor: Make VBLANK mandatory
Naushir Patuck
naush at raspberrypi.com
Fri Jan 29 12:16:12 CET 2021
From: Jacopo Mondi <jacopo at jmondi.org>
Add the V4L2_CID_VBLANK control to the list of mandatory controls
the sensor driver has to report and document the new requirement.
The vertical blanking control is used to calculate the frame duration.
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
Reviewed-by: Naushir Patuck <naush at raspberrypi.com>
---
Documentation/sensor_driver_requirements.rst | 6 ++++--
src/libcamera/camera_sensor.cpp | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst
index 6dcd4e68d64d..590797f054ce 100644
--- a/Documentation/sensor_driver_requirements.rst
+++ b/Documentation/sensor_driver_requirements.rst
@@ -27,18 +27,20 @@ The sensor driver shall support the following V4L2 controls:
* `V4L2_CID_EXPOSURE`_
* `V4L2_CID_HBLANK`_
* `V4L2_CID_PIXEL_RATE`_
+* `V4L2_CID_VBLANK`_
.. _V4L2_CID_EXPOSURE: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/control.html
.. _V4L2_CID_HBLANK: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-image-source.html
.. _V4L2_CID_PIXEL_RATE: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-image-process.html
+.. _V4L2_CID_VBLANK: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-image-source.html
While V4L2 doesn't specify a unit for the `EXPOSURE` control, libcamera requires
it to be expressed as a number of image lines. Camera sensor drivers that do not
comply with this requirement will need to be adapted or will produce incorrect
results.
-The `HBLANK` and `PIXEL_RATE` controls are used to compute the sensor output
-timings.
+The `HBLANK`, `PIXEL_RATE` and `VBLANK` controls are used to compute the sensor
+output timings.
Optional Requirements
---------------------
diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
index ca33c0094088..ab315bdc468c 100644
--- a/src/libcamera/camera_sensor.cpp
+++ b/src/libcamera/camera_sensor.cpp
@@ -244,6 +244,7 @@ int CameraSensor::validateSensorDriver()
V4L2_CID_EXPOSURE,
V4L2_CID_HBLANK,
V4L2_CID_PIXEL_RATE,
+ V4L2_CID_VBLANK,
};
ControlList ctrls = subdev_->getControls(mandatoryControls);
--
2.25.1
More information about the libcamera-devel
mailing list