[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