[libcamera-devel] [PATCH 0/3] Restore CameraSensor usage for YUV sensors
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sun Jan 31 19:17:19 CET 2021
Hello,
The recent changes to the CameraSensor class that made the V4L2
EXPOSURE, HBLANK and PIXEL_RATE controls mandatory broke usage of YUV
sensors in the simple pipeline handler, as many YUV sensor drivers don't
support those controls.
Drivers could of course be extended one by one to support the mandatory
controls, but not all of these controls make sense for YUV sensors. YUV
sensors include an ISP, and typically expose a higher-level API than raw
sensors. They may not support manual control of exposure time (and while
most of the sensors should support this, information to implement manual
exposure time is not as widely available in sensor documentation than
for raw sensors) or horizontal blanking.
Support for those three controls is needed for raw sensors as they are
required to properly configure the ISP or implement the imaging
algorithms. As the simple pipeline handler doesn't support ISPs and rely
on the sensor including an ISP, the information provided by these
controls isn't needed, as shown by the pipeline handler not calling
CameraSensor::sensorInfo(). The best course of action is thus to make
these controls mandatory for raw sensors only, restoring support of YUV
sensors in the simple pipeline handler.
Laurent Pinchart (3):
libcamera: camera_sensor: Store Bayer pattern in class member
libcamera: camera_sensor: Restrict sensor info to raw sensors
libcamera: camera_sensor: Check control availability from idmap
Documentation/sensor_driver_requirements.rst | 2 +-
include/libcamera/internal/camera_sensor.h | 2 +
src/libcamera/camera_sensor.cpp | 98 +++++++++++++-------
3 files changed, 65 insertions(+), 37 deletions(-)
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list