[libcamera-devel] [RFC PATCH v2 00/12] FULL hardware level fixes

Paul Elder paul.elder at ideasonboard.com
Thu Apr 22 11:40:50 CEST 2021


This patchset switches to hardware level FULL, fixes many failures, and
sets up the infrastructure for pipeline handlers to get and set the
metadata.  The tests that this patchset fixes are (in alphabetical order):
- android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceCreateCaptureBuilder
- android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceManualTemplate
- android.hardware.camera2.cts.CameraDeviceTest#testCameraDevicePreviewTemplate
- android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceRecordingTemplate
- android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceStillTemplate
- android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceVideoSnapShotTemplate
- android.hardware.camera2.cts.CaptureRequestTest#testAeModeAndLock
- android.hardware.camera2.cts.CaptureRequestTest#testAntiBandingModes
- android.hardware.camera2.cts.CaptureRequestTest#testAwbModeAndLock
- android.hardware.camera2.cts.CaptureRequestTest#testBlackLevelLock
- android.hardware.camera2.cts.CaptureRequestTest#testEdgeModeControlFastFps
- android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControlFastFps
- android.hardware.camera2.cts.CaptureRequestTest#testToneMapControl
- android.hardware.camera2.cts.CaptureResultTest#testCameraCaptureResultAllKeys
- android.hardware.camera2.cts.ImageReaderTest#testDiscardFreeBuffers
- android.hardware.camera2.cts.ImageReaderTest#testFlexibleYuv
- android.hardware.camera2.cts.ImageReaderTest#testJpeg
- android.hardware.camera2.cts.ImageReaderTest#testLongProcessingRepeatingFlexibleYuv
- android.hardware.camera2.cts.ImageReaderTest#testRepeatingJpeg
- android.hardware.camera2.cts.StaticMetadataTest#testCapabilities
- android.hardware.camera2.cts.StaticMetadataTest#testHwSupportedLevel

The following tests are mostly fixed, but fail one and only one frame
(frame duration is too short):
- android.hardware.camera2.cts.CaptureRequestTest#testEdgeModeControl
- android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl
- android.hardware.camera2.cts.SurfaceViewPreviewTest#testPreviewFpsRange

Patch 1 fixes a typo.

Patches 2 to 7 set up FULL hardware level, and hardcode values to pass
the CTS tests. Patches 8 to 12 then lay down infrastructure for the
pipeline handlers to set the metadata values, and make the ipu3 pipeline
handler do so to pass the aforementioned CTS tests.

Paul Elder (12):
  android: camera_device: Fix typo in result metadata allocation error
  android: Switch to FULL
  android: CameraDevice: Report proper min and max frame durations
  android: jpeg: get ISO from SENSOR_SENSITIVITY
  android: camera_device: Set static metadata for FULL requirements
  android: camera_device: Set templates for FULL requirements
  android: camera_device: Set result metadata for FULL requirements
  controls: Add controls necessary for FULL compliance
  pipeline: ipu3: Add controls for FULL compliance
  android: camera_device: Translate android controls to libcamera
    controls
  pipeline: ipu3: Set request metadata for FULL compliance
  android camera_device: Set result metadata from libcamera metadata

 src/android/camera_device.cpp            | 421 +++++++++++++++++++++--
 src/android/camera_device.h              |   2 +
 src/android/jpeg/post_processor_jpeg.cpp |   5 +-
 src/libcamera/control_ids.yaml           |  78 ++++-
 src/libcamera/pipeline/ipu3/ipu3.cpp     |  86 ++++-
 5 files changed, 551 insertions(+), 41 deletions(-)

-- 
2.27.0



More information about the libcamera-devel mailing list