[libcamera-devel] [RFC PATCH v2 0/5] Async PostProcessor

Umang Jain umang.jain at ideasonboard.com
Thu Sep 2 23:31:23 CEST 2021


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

Patch 1-3 introduces basic plumbing efforts
Patch 4 introduces groundwork for making the post-processor async
Patch 5 makes the post-processor async.

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

Open questions / further work:
Marked as \todo, so I shall continue chasing them.

Umang Jain (5):
  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: camera_device: Add a queue for sending capture results
  android: camera_stream: Run post-processor in a separate thread

 src/android/camera_device.cpp            | 131 +++++++++++++++++++++--
 src/android/camera_device.h              |  27 +++++
 src/android/camera_stream.cpp            |  40 +++++--
 src/android/camera_stream.h              |  42 +++++++-
 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 |  11 +-
 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             |  10 +-
 src/android/yuv/post_processor_yuv.cpp   |  22 ++--
 src/android/yuv/post_processor_yuv.h     |   4 +-
 14 files changed, 260 insertions(+), 45 deletions(-)

-- 
2.31.1



More information about the libcamera-devel mailing list