[libcamera-devel,00/12] android: Exposure times + scaler crop + android metadata
mbox series

Message ID 20210105190522.682324-1-jacopo@jmondi.org
Headers show
Series
  • android: Exposure times + scaler crop + android metadata
Related show

Message

Jacopo Mondi Jan. 5, 2021, 7:05 p.m. UTC
Based on:
[PATCH v5 00/10] libcamera: camera_sensor: Make validation more strict

This series addresses mainly 3 things, in order to grow the Camera HAL by
instrumenting the IPU3 pipeline handler to provide the required information.

- Patches [1/12] -> [5/12]
  Register the ExposureTime control in the IPU3 pipeline handler
  to be able to register the EXPOSURE_TIME_RANGE static metadata in the HAL.
  Reports the default exposure time and collects it as EXPOSURE_TIME dynamic
  metadata in the Camera HAL.

-Patches [5/12] -> [10/12]
  Register the ScalerCropMaximum property and handle the ScalerCrop
  property in the IPU3 pipeline handler to be able to register
  the MAX_DIGITAL_ZOOM static metadata and to handle the SCALER_CROP_REGION
  control and dynamic metadata.

- Patches [11/12] and [12/12]
  Fixes for the android.hardware.camera2.cts.CaptureRequestTest CTS test
  module. The last patch specifically adds in bulk a lot of dynamic metadata
  which we didn't report. As reported in the commit message, handling
  MAX_FRAME_DURATION would fix all tests in that module (2 on 22 failing with
  this series applied).

As a bonus, it is not possible to switch between the front and the back camera
in the stock ChromeOS camera application.

Thanks
   j

Jacopo Mondi (12):
  libcamera: CameraSensor: Mention V4L2 in get/setControls()
  libcamera: camera_sensor: Make V4L2_CID_EXPOSURE mandatory
  libcamera: ipu3: Register Exposure control
  android: camera_device: Register EXPOSURE_TIME_RANGE
  android: camera_device: Report EXPOSURE_TIME
  libcamera: ipu3: Initialize ScalerCropMaximum property
  libcamera: ipu3: Register ScalerCrop control
  android: camera_device: Register MAX_DIGITAL_ZOOM
  libcamera: ipu3: Handle ScalerCrop
  android: camera_device: Handle SCALER_CROP_REGION
  android: camera_device: Support AWB_AUTO
  android: camera_device: Report the required dynamic metadata

 Documentation/sensor_driver_requirements.rst |  12 +-
 src/android/camera_device.cpp                | 234 +++++++++++++++----
 src/android/camera_device.h                  |   2 +
 src/android/camera_worker.h                  |   1 +
 src/libcamera/camera_sensor.cpp              |  25 +-
 src/libcamera/pipeline/ipu3/ipu3.cpp         | 183 ++++++++++++++-
 6 files changed, 388 insertions(+), 68 deletions(-)

--
2.29.2