mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 15:29:45 +03:00
libcamera: camera_sensor: Make VBLANK mandatory
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@jmondi.org> Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
e81f9046ca
commit
f1b0c7f5e3
2 changed files with 5 additions and 2 deletions
|
@ -27,18 +27,20 @@ The sensor driver shall support the following V4L2 controls:
|
||||||
* `V4L2_CID_EXPOSURE`_
|
* `V4L2_CID_EXPOSURE`_
|
||||||
* `V4L2_CID_HBLANK`_
|
* `V4L2_CID_HBLANK`_
|
||||||
* `V4L2_CID_PIXEL_RATE`_
|
* `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_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_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_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
|
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
|
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
|
comply with this requirement will need to be adapted or will produce incorrect
|
||||||
results.
|
results.
|
||||||
|
|
||||||
The `HBLANK` and `PIXEL_RATE` controls are used to compute the sensor output
|
The `HBLANK`, `PIXEL_RATE` and `VBLANK` controls are used to compute the sensor
|
||||||
timings.
|
output timings.
|
||||||
|
|
||||||
Optional Requirements
|
Optional Requirements
|
||||||
---------------------
|
---------------------
|
||||||
|
|
|
@ -244,6 +244,7 @@ int CameraSensor::validateSensorDriver()
|
||||||
V4L2_CID_EXPOSURE,
|
V4L2_CID_EXPOSURE,
|
||||||
V4L2_CID_HBLANK,
|
V4L2_CID_HBLANK,
|
||||||
V4L2_CID_PIXEL_RATE,
|
V4L2_CID_PIXEL_RATE,
|
||||||
|
V4L2_CID_VBLANK,
|
||||||
};
|
};
|
||||||
|
|
||||||
ControlList ctrls = subdev_->getControls(mandatoryControls);
|
ControlList ctrls = subdev_->getControls(mandatoryControls);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue