[libcamera-devel,v2,0/7] Report Android HAL client test pattern modes
mbox series

Message ID 20210421042346.312854-1-hiroh@chromium.org
Headers show
Series
  • Report Android HAL client test pattern modes
Related show

Message

Hirokazu Honda April 21, 2021, 4:23 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.) Add menu support to controls.
2.) V4L2Device store all supported test pattern values with controls.
3.) CameraSensor gets the test pattern values (name, etc) via
V4L2Device::controls().
4.) CameraSensor converts them to libcamera test pattern control
values by using a conversion table in CameraSensorDatabase
5.) IPU3 reports the libcamera test pattern control values to Android HAL.
6.) Android HAL convers the libcamera test pattern control values to
Android test pattern values.

Change in v2:
- Add (1) and (6) patches to the series

Hirokazu Honda (7):
  libcamera: controls: Add sensor test pattern mode
  libcamera: Controls: Add ControlTypeMenu
  libcamera: V4L2Device: Support v4l2 menu control
  libcamera: SensorDatabase: Adds table of v4l2 name and test pattern
  libcamera: CameraSensor: Attach available test pattern modes
  libcamera: pipeline: ipu3: Report available sensor test pattern mode
  android: CameraDevice: Report queried test pattern modes

 include/libcamera/controls.h                 | 28 ++++++
 include/libcamera/internal/camera_sensor.h   |  2 +
 include/libcamera/internal/sensor_database.h |  2 +
 include/libcamera/internal/v4l2_controls.h   |  1 +
 include/libcamera/internal/v4l2_device.h     |  3 +
 src/android/camera_device.cpp                | 46 +++++++++-
 src/libcamera/camera_sensor.cpp              | 38 +++++++++
 src/libcamera/control_ids.yaml               | 59 +++++++++++++
 src/libcamera/controls.cpp                   |  7 ++
 src/libcamera/pipeline/ipu3/ipu3.cpp         | 12 +++
 src/libcamera/sensor_database.cpp            | 37 +++++++-
 src/libcamera/v4l2_controls.cpp              | 10 ++-
 src/libcamera/v4l2_device.cpp                | 90 ++++++++++++++++++--
 13 files changed, 322 insertions(+), 13 deletions(-)

--
2.31.1.368.gbe11c130af-goog