[libcamera-devel] [PATCH 1/5] libcamera: camera_sensor: Make VBLANK mandatory

Jacopo Mondi jacopo at jmondi.org
Thu Jan 21 18:46:29 CET 2021


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>
---
 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 c45d5a7ae61b..e365c17831ed 100644
--- a/Documentation/sensor_driver_requirements.rst
+++ b/Documentation/sensor_driver_requirements.rst
@@ -27,10 +27,12 @@ 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
 
 The `EXPOSURE` control shall report the image integration time in number of
 lines. While V4L2 doesn't specify a unit for the `EXPOSURE` control, libcamera
@@ -38,8 +40,8 @@ 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.29.2



More information about the libcamera-devel mailing list