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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Feb 4 20:12:01 CET 2021


Hi Naush,

Thank you for the patch.

On Fri, Jan 29, 2021 at 11:16:12AM +0000, Naushir Patuck wrote:
> 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>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.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);

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list