[libcamera-devel] [RFC PATCH 0/5] android: Async post-processing

Umang Jain umang.jain at ideasonboard.com
Thu Aug 26 23:30:11 CEST 2021


This series aims to enable async post-processing of streams
in the HAL layer.

Pathch[1-4]/5 lays the groundwork. Patch 5/5 is the real deal.

This is an RFC since I still have a few more \todos to address
in 5/5. One in particular (which is also a source of crash)
is marked with [BLOCKER] in 5/5.

Testing:
post-processor-jpeg runs in a separate thread and saves an image
on shutter-click. Streaming of image data continues as usual.

However, on next shutter-click(i.e. trying to click yet-another-image)
the post-processor-worker thread fails to start, aborting the camera
service. This is [BLOCKER] I am currently resolving on my end.

Umang Jain (5):
  android: post_processor: Inherit from libcamera::Object
  android: camera_stream: Pass FrameBuffer pointer instead of reference
  android: post_processor: Notify post processing completion status
  android: camera_stream: Notify process() status with a Signal
  android: Run post processing in a separate thread

 src/android/camera_device.cpp            | 94 +++++++++++++++++++++---
 src/android/camera_device.h              | 21 +++++-
 src/android/camera_stream.cpp            | 54 ++++++++++++--
 src/android/camera_stream.h              | 56 +++++++++++++-
 src/android/jpeg/encoder.h               |  2 +-
 src/android/jpeg/encoder_libjpeg.cpp     |  4 +-
 src/android/jpeg/encoder_libjpeg.h       |  2 +-
 src/android/jpeg/post_processor_jpeg.cpp | 13 +++-
 src/android/jpeg/post_processor_jpeg.h   |  4 +-
 src/android/jpeg/thumbnailer.cpp         |  4 +-
 src/android/jpeg/thumbnailer.h           |  2 +-
 src/android/post_processor.h             | 13 +++-
 src/android/yuv/post_processor_yuv.cpp   | 22 +++---
 src/android/yuv/post_processor_yuv.h     |  4 +-
 14 files changed, 248 insertions(+), 47 deletions(-)

-- 
2.31.1



More information about the libcamera-devel mailing list