summaryrefslogtreecommitdiff
path: root/src/android/camera_stream.cpp
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2021-01-23 13:54:28 +0900
committerPaul Elder <paul.elder@ideasonboard.com>2021-01-27 12:07:08 +0900
commitabfabdd6e769a58ccd9ff1e884528211904888d8 (patch)
tree875b6410976bd5a8d1470ae4080fca45d9e4366c /src/android/camera_stream.cpp
parent229653a59ba635b1649590aa119a4354989314a8 (diff)
android: Set result metadata and EXIF fields based on request metadata
Set the following android result metadata: - ANDROID_LENS_FOCAL_LENGTH - ANDROID_LENS_APERTURE - ANDROID_JPEG_GPS_TIMESTAMP - ANDROID_JPEG_GPS_COORDINATES - ANDROID_JPEG_GPS_PROCESSING_METHOD And the following EXIF fields: - GPSDatestamp - GPSTimestamp - GPSLocation - GPSLatitudeRef - GPSLatitude - GPSLongitudeRef - GPSLongitude - GPSAltitudeRef - GPSAltitude - GPSProcessingMethod - FocalLength - ExposureTime - FNumber - ISO - Flash - WhiteBalance - SubsecTime - SubsecTimeOriginal - SubsecTimeDigitized Based on android request metadata. This allows the following CTS tests to pass: - android.hardware.camera2.cts.StillCaptureTest#testFocalLengths - android.hardware.camera2.cts.StillCaptureTest#testJpegExif Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/android/camera_stream.cpp')
-rw-r--r--src/android/camera_stream.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp
index dba351a4..4c8020e5 100644
--- a/src/android/camera_stream.cpp
+++ b/src/android/camera_stream.cpp
@@ -96,12 +96,15 @@ int CameraStream::configure()
}
int CameraStream::process(const libcamera::FrameBuffer &source,
- MappedCamera3Buffer *dest, CameraMetadata *metadata)
+ MappedCamera3Buffer *dest,
+ const CameraMetadata &requestMetadata,
+ CameraMetadata *resultMetadata)
{
if (!postProcessor_)
return 0;
- return postProcessor_->process(source, dest->maps()[0], metadata);
+ return postProcessor_->process(source, dest->maps()[0],
+ requestMetadata, resultMetadata);
}
FrameBuffer *CameraStream::getBuffer()