[PATCH v2 0/8] Signal metadataAvailable and Android partial result

Harvey Yang chenghaoyang at chromium.org
Wed Nov 27 10:25:50 CET 2024


Hi folks,

This series of patches adds a new signal metadataAvailable in
libcamera::Camera, and supports partial result in Android adapter.

Although Android allows a partial result to contain both buffers and
metadata, we probably don't need such a feature. Splitting them into
different partial results should fit both MediaTek's and Intel's
requirements.

This patch passed gitlab pipeline:
https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276

There are still some discussion of the new signal in the previous patch,
with Jacopo. I'll update the patch when we reach agreement.

I understand that the last patch is a bit large, while I don't know how
to split that furthermore. Let me know if there are some pieces that can
be standalone patches.

BR,
Harvey


Han-Lin Chen (2):
  libcamera: Camera: Add signals for completion of metadata as a partial
    result
  android: Add JpegExifMetadata to store tags setting into Exif

Harvey Yang (7):
  android: Move StreamBuffer out of Camera3RequestDescriptor
  android: Set StreamBuffer::srcBuffer in
    CameraDevice::processCaptureRequest
  android: Migrate StreamBuffer::internalBuffer to
    Camera3RequestDescriptor
  android: Add CameraDevice::sendCaptureResult()
  android: Cleanup CAMERA3_MSG_ERROR_REQUEST
  android: Remove Camera3RequestDescriptor::streamsProcessMutex_
  android: Support partial results

 include/libcamera/camera.h                    |   1 +
 include/libcamera/internal/pipeline_handler.h |   1 +
 include/libcamera/internal/request.h          |   4 +
 include/libcamera/request.h                   |   1 +
 src/android/camera_capabilities.cpp           |  11 +-
 src/android/camera_capabilities.h             |   2 +
 src/android/camera_device.cpp                 | 926 ++++++++++++------
 src/android/camera_device.h                   |  46 +-
 src/android/camera_request.cpp                |  94 +-
 src/android/camera_request.h                  |  96 +-
 src/android/camera_stream.cpp                 |  20 +-
 src/android/camera_stream.h                   |  10 +-
 src/android/jpeg/encoder.h                    |   2 +-
 src/android/jpeg/encoder_jea.cpp              |   2 +-
 src/android/jpeg/encoder_jea.h                |   2 +-
 src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
 src/android/jpeg/encoder_libjpeg.h            |   2 +-
 src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
 src/android/jpeg/post_processor_jpeg.h        |   2 +-
 src/android/post_processor.h                  |   4 +-
 src/android/yuv/post_processor_yuv.cpp        |   2 +-
 src/android/yuv/post_processor_yuv.h          |   2 +-
 src/libcamera/camera.cpp                      |   6 +
 src/libcamera/pipeline_handler.cpp            |  41 +
 src/libcamera/request.cpp                     |  21 +
 25 files changed, 908 insertions(+), 408 deletions(-)

-- 
2.47.0.338.g60cca15819-goog



More information about the libcamera-devel mailing list