[libcamera-devel,v4,0/6]
mbox series

Message ID 20210506075449.1761752-1-hiroh@chromium.org
Headers show
Series
  • [libcamera-devel,v4,1/6] libcamera: controls: Add sensor test pattern mode
Related show

Message

Hirokazu Honda May 6, 2021, 7:54 a.m. UTC
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