[libcamera-devel] [PATCH 00/10] Support memory backends
Jacopo Mondi
jacopo at jmondi.org
Mon Mar 1 16:01:01 CET 2021
Hello
v2 takes into account comments received from Laurent
- Introduce an android_platform combo option in place of android_memory_backend
- Implement PIMPL using libcamera::Extensible in place of the custom
implementation
- Use libcamera::Span<> in the CameraBuffer interface
- Minor style fixups
The biggest controversy is now patch 8/10: how to maintain compatibility with
the existing generic implementation. I left the patch as it was to collect more
feedback but I don't feel strongly attached to it (the contrary :)
Tested by
- JPEG capture with CCA on ChromeOS
- Works with the generic backend as it used to
- Works with the cbm backend
- CTS android.hardware.camera2.cts.ImageReaderTest with cbm backend making sure
the calculated buffer size is correct ( aka < maxJpegBufferSize)
- Picture capture with OpenCamera which results in a well formed picture
Thanks
j
Jacopo Mondi (10):
meson: options: Add option to select the Android platform
android: Introduce CameraBuffer interface
android: camera_buffer: Drop 'const' from buffer_handle_t
android: camera_device: Rename buffer fields
android: Move buffer mapping to CameraStream
android: camera_buffer: Implement libcamera::Extensible
android: post_processor: Use CameraBuffer API
android: jpeg: Use maxJpegBufferSize() for compatibility
android: mm: Provide helper macro for PIMPL
android: Introduce Chromium OS buffer manager
meson_options.txt | 6 +
src/android/camera_buffer.h | 59 ++++++++++
src/android/camera_device.cpp | 51 +-------
src/android/camera_device.h | 6 -
src/android/camera_stream.cpp | 16 ++-
src/android/camera_stream.h | 2 +-
src/android/jpeg/post_processor_jpeg.cpp | 29 +++--
src/android/jpeg/post_processor_jpeg.h | 2 +-
src/android/meson.build | 2 +
src/android/mm/cros_camera_buffer.cpp | 141 +++++++++++++++++++++++
src/android/mm/generic_camera_buffer.cpp | 89 ++++++++++++++
src/android/mm/meson.build | 9 ++
src/android/post_processor.h | 4 +-
src/android/yuv/post_processor_yuv.cpp | 20 ++--
src/android/yuv/post_processor_yuv.h | 6 +-
15 files changed, 357 insertions(+), 85 deletions(-)
create mode 100644 src/android/camera_buffer.h
create mode 100644 src/android/mm/cros_camera_buffer.cpp
create mode 100644 src/android/mm/generic_camera_buffer.cpp
create mode 100644 src/android/mm/meson.build
--
2.30.0
More information about the libcamera-devel
mailing list