[libcamera-devel] [PATCH 00/11] android: Overhaul request handling

Umang Jain umang.jain at ideasonboard.com
Mon Oct 18 15:29:12 CEST 2021


This series has been a by-product of ongoing post-processing async
work. The series attempts to de-couple how structures / information
are stored to address and complete a request incoming to out HAL.

The de-couple will help us to streamline and group information
which can be consumed by the HAL layer easily. Emphasis on construction
of HAL framework's structures (like capture results,
camera3_stream_buffer_t) in-place, to complete the requests is done
as part of the series. This de-couple will help the post-processor
async work going forwards.

The series is CTS-verified on top of master:
2f75a7e5b8c "libcamera: v4l2_subdevice: Set format field to V4L2_FIELD_NONE"
PASS Results : 230/231
Failure - [110/231] android.hardware.camera2.cts.CameraDeviceTest#testPrepare fail:
	junit.framework.AssertionFailedError: Wait for a capture result timed out in 3000ms


Laurent Pinchart (8):
  android: camera_request: Turn struct into a class
  android: camera_device: Build capture_result dynamically
  android: camera_stream: Pass StreamBuffer to process()
  android: camera_stream: Return non-const pointer from camera3Stream()
  android: camera_device: Use abortRequest() instead of open-coding it
  android: camera_request: Don't embed full camera3_stream_buffer_t
  android: camera_stream: Don't close fence if wait times out
  android: camera_stream: Define explicit move constructor and
    destructors

Umang Jain (3):
  camera_device: Remove private scope of Camera3RequestDescriptor
  android: camera_stream: Plumb process() with Camera3RequestDescriptor
  android: camera_device: Create struct to track per stream buffer

 src/android/camera_device.cpp            | 194 +++++++++--------------
 src/android/camera_device.h              |  27 +---
 src/android/camera_request.cpp           |  53 +++++++
 src/android/camera_request.h             |  62 ++++++++
 src/android/camera_stream.cpp            |  29 ++--
 src/android/camera_stream.h              |  12 +-
 src/android/jpeg/post_processor_jpeg.cpp |   6 +-
 src/android/jpeg/post_processor_jpeg.h   |   3 +-
 src/android/meson.build                  |   1 +
 src/android/post_processor.h             |   5 +-
 src/android/yuv/post_processor_yuv.cpp   |   3 +-
 src/android/yuv/post_processor_yuv.h     |   3 +-
 12 files changed, 229 insertions(+), 169 deletions(-)
 create mode 100644 src/android/camera_request.cpp
 create mode 100644 src/android/camera_request.h

-- 
2.31.0



More information about the libcamera-devel mailing list