[libcamera-devel,v4,00/13] android: JPEG support
mbox series

Message ID 20200805151507.227503-1-kieran.bingham@ideasonboard.com
Headers show
Series
  • android: JPEG support
Related show

Message

Kieran Bingham Aug. 5, 2020, 3:14 p.m. UTC
As before, now many more review topics addressed and resolved.

With just these patches applied, the CCA application runs and can
capture an image successfully.

There is still plenty to do on top however:

 - The JPEG compression does not run in a separate thread
 - Added streams do not have buffering
 - RAW API could be used for JPEG compression
 - EXIF tag support is started but not included in this series.
 - No rescaler is supported yet


Kieran Bingham (13):
  libcamera: buffer: Correct FrameBuffer references
  libcamera: formats: add numPlanes helper
  libcamera: buffer: Create a MappedBuffer
  test: mapped-buffers: Provide MappedBuffer test
  libcamera: buffer: Convert copyFrom to use MappedFrameBuffer
  android: camera_device: Fix trivial spelling
  android: camera_device: Report an error in notifyError()
  android: camera_device: Only construct required planes
  android: camera_device: Query plane length
  android: camera_device: Report configuration changes from validate()
  android: camera_device: Generate ResultMetadata earlier
  android: Introduce JPEG compression
  android: camera_device: Support MJPEG stream construction

 include/libcamera/internal/buffer.h     |  47 ++++
 include/libcamera/internal/formats.h    |   2 +
 src/android/camera_device.cpp           | 292 +++++++++++++++++++++---
 src/android/camera_device.h             |  12 +
 src/android/jpeg/compressor.h           |  25 ++
 src/android/jpeg/compressor_libjpeg.cpp | 217 ++++++++++++++++++
 src/android/jpeg/compressor_libjpeg.h   |  41 ++++
 src/android/meson.build                 |   5 +
 src/libcamera/buffer.cpp                | 195 +++++++++++++---
 src/libcamera/formats.cpp               |  18 ++
 src/libcamera/meson.build               |   2 +
 test/mapped-buffer.cpp                  | 114 +++++++++
 test/meson.build                        |   1 +
 13 files changed, 916 insertions(+), 55 deletions(-)
 create mode 100644 include/libcamera/internal/buffer.h
 create mode 100644 src/android/jpeg/compressor.h
 create mode 100644 src/android/jpeg/compressor_libjpeg.cpp
 create mode 100644 src/android/jpeg/compressor_libjpeg.h
 create mode 100644 test/mapped-buffer.cpp