[libcamera-devel,v3,0/8] Fill in android result metadata and EXIF tabs
mbox series

Message ID 20210123051704.188117-1-paul.elder@ideasonboard.com
Headers show
Series
  • Fill in android result metadata and EXIF tabs
Related show

Message

Paul Elder Jan. 23, 2021, 5:16 a.m. UTC
This patch series depends on the following two series:
- "android: Exposure times + scaler crop + android metadata"

This patch series makes the following CTS tests pass:
- android.hardware.camera2.cts.StillCaptureTest#testFocalLengths
- android.hardware.camera2.cts.StillCaptureTest#testJpegExif

Mostly by filling out android result metadata and EXIF tags correctly
based on the android request metadata.

---
Changes in v3:
- drop JIS and Undefined support for generating EXIF tags with undefined
  formats
- clean up exif setString
- fix endianness in exif setString
- merge setting subsec into setTimestamp (in exif)
- fix metadata entries and byte count
- move thumbnail handling to separate patch
- clean up caching request metadata
- set quality of jpeg and thumbnail

Changes in v2:
- move string encoder from utils to exif, and support no-encoding
- expand explanation about the exif orientation values
- make camera.prop file parsing nicer
- split out thumbnailer configuration and processControls into separate
  patch
- handle null request settings

Paul Elder (8):
  android: jpeg: exif: Expand setString to support different encodings
  android: jpeg: exif: Fix setOrientation EXIF values
  android: jpeg: exif: Add functions for setting various values
  android: camera_device: Load make and model from platform settings
  android: Set result metadata and EXIF fields based on request metadata
  android: jpeg: Configure thumbnailer based on request metadata
  android: camera_device: Cache request metadata
  android: jpeg: Set thumbnail and JPEG quality based on request

 src/android/camera_device.cpp            |  50 ++++-
 src/android/camera_device.h              |   7 +
 src/android/camera_stream.cpp            |   7 +-
 src/android/camera_stream.h              |   4 +-
 src/android/jpeg/encoder.h               |   3 +-
 src/android/jpeg/encoder_libjpeg.cpp     |  10 +-
 src/android/jpeg/encoder_libjpeg.h       |   8 +-
 src/android/jpeg/exif.cpp                | 267 +++++++++++++++++++++--
 src/android/jpeg/exif.h                  |  48 +++-
 src/android/jpeg/post_processor_jpeg.cpp | 111 +++++++---
 src/android/jpeg/post_processor_jpeg.h   |   5 +-
 src/android/jpeg/thumbnailer.cpp         |  25 +--
 src/android/jpeg/thumbnailer.h           |   4 +-
 src/android/post_processor.h             |   3 +-
 14 files changed, 457 insertions(+), 95 deletions(-)