[libcamera-devel] [PATCH v4 0/6]
Hirokazu Honda
hiroh at chromium.org
Thu May 6 09:54:43 CEST 2021
This patch series enables Android HAL implementation to report
sensor test pattern modes.
ChromeOS camera test tests that a camera frame is not corrupted
while it specifies some test pattern mode. If no test pattern
mode is available, the test fails. In order to pass the test,
libcamera needs to report available test pattern modes and
produce camera frames with requested pattern modes.
This patch series does as follows;
0.) Define libcamera test pattern control values.
1.) V4L2Device store all supported test pattern values (index) in ControlInfo.
2.) CameraSensor gets the test pattern values (index) via
V4L2Device::controls().
3.) CameraSensor converts them to libcamera test pattern control
values by using a conversion table in CameraSensorDatabase
4.) IPU3 reports the libcamera test pattern control values to Android HAL.
5.) Android HAL convers the libcamera test pattern control values to
Android test pattern values.
Change in v4:
- Change ControlValue for menu to store the index only without name and 64-bit value.
Change in v3:
- Rather than adding a new ControlType for menu, the values for name/value of v4l2 menu are stored in ControlInfo together with values for indices.
- Initialize test pattern modes in CameraSensor initialization and use the cached values later.
Change in v2:
- Add (1) and (5) patches to the series
Hirokazu Honda (6):
libcamera: controls: Add sensor test pattern mode
libcamera: V4L2Device: Support v4l2 menu control
libcamera: CameraSensorProperties: Adds table of v4l2 index and test
pattern
libcamera: CameraSensor: Enable retrieving supported test pattern
modes
libcamera: pipeline: ipu3: Report available sensor test pattern mode
android: CameraDevice: Report queried test pattern modes
include/libcamera/internal/camera_sensor.h | 5 ++
.../internal/camera_sensor_properties.h | 2 +
include/libcamera/internal/v4l2_device.h | 3 +
src/android/camera_device.cpp | 46 +++++++++++--
src/libcamera/camera_sensor.cpp | 28 ++++++++
src/libcamera/camera_sensor_properties.cpp | 20 ++++++
src/libcamera/control_ids.yaml | 58 +++++++++++++++++
src/libcamera/pipeline/ipu3/ipu3.cpp | 10 +++
src/libcamera/v4l2_device.cpp | 65 +++++++++++++++++--
9 files changed, 226 insertions(+), 11 deletions(-)
--
2.31.1.607.g51e8a6a459-goog
More information about the libcamera-devel
mailing list