[libcamera-devel,00/11] android: Overhaul request handling
mbox series

Message ID 20211018132923.476242-1-umang.jain@ideasonboard.com
Headers show
Series
  • android: Overhaul request handling
Related show

Message

Umang Jain Oct. 18, 2021, 1:29 p.m. UTC
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