[libcamera-devel] [PATCH v5 3/3] android: jpeg: post_processor: Use the new metadata functions
Paul Elder
paul.elder at ideasonboard.com
Fri May 14 08:43:03 CEST 2021
Now that CameraMetadata supports more convenient functions, use those
instead.
Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
No change in v5
No change in v4
New in v3
---
src/android/jpeg/post_processor_jpeg.cpp | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/android/jpeg/post_processor_jpeg.cpp b/src/android/jpeg/post_processor_jpeg.cpp
index 3bf16996..2ecf5578 100644
--- a/src/android/jpeg/post_processor_jpeg.cpp
+++ b/src/android/jpeg/post_processor_jpeg.cpp
@@ -15,6 +15,7 @@
#include "exif.h"
#include <libcamera/formats.h>
+#include <libcamera/span.h>
#include "libcamera/internal/log.h"
@@ -103,7 +104,7 @@ int PostProcessorJpeg::process(const FrameBuffer &source,
ret = requestMetadata.getEntry(ANDROID_JPEG_ORIENTATION, &entry);
const uint32_t jpegOrientation = ret ? *entry.data.i32 : 0;
- resultMetadata->addEntry(ANDROID_JPEG_ORIENTATION, &jpegOrientation, 1);
+ resultMetadata->addEntry(ANDROID_JPEG_ORIENTATION, jpegOrientation);
exif.setOrientation(jpegOrientation);
exif.setSize(streamSize_);
@@ -129,7 +130,7 @@ int PostProcessorJpeg::process(const FrameBuffer &source,
if (ret) {
exif.setGPSDateTimestamp(*entry.data.i64);
resultMetadata->addEntry(ANDROID_JPEG_GPS_TIMESTAMP,
- entry.data.i64, 1);
+ *entry.data.i64);
}
ret = requestMetadata.getEntry(ANDROID_JPEG_THUMBNAIL_SIZE, &entry);
@@ -140,7 +141,7 @@ int PostProcessorJpeg::process(const FrameBuffer &source,
ret = requestMetadata.getEntry(ANDROID_JPEG_THUMBNAIL_QUALITY, &entry);
uint8_t quality = ret ? *entry.data.u8 : 95;
- resultMetadata->addEntry(ANDROID_JPEG_THUMBNAIL_QUALITY, &quality, 1);
+ resultMetadata->addEntry(ANDROID_JPEG_THUMBNAIL_QUALITY, quality);
if (thumbnailSize != Size(0, 0)) {
std::vector<unsigned char> thumbnail;
@@ -172,7 +173,7 @@ int PostProcessorJpeg::process(const FrameBuffer &source,
ret = requestMetadata.getEntry(ANDROID_JPEG_QUALITY, &entry);
const uint8_t quality = ret ? *entry.data.u8 : 95;
- resultMetadata->addEntry(ANDROID_JPEG_QUALITY, &quality, 1);
+ resultMetadata->addEntry(ANDROID_JPEG_QUALITY, quality);
int jpeg_size = encoder_->encode(source, destination->plane(0),
exif.data(), quality);
@@ -190,7 +191,7 @@ int PostProcessorJpeg::process(const FrameBuffer &source,
blob->jpeg_size = jpeg_size;
/* Update the JPEG result Metadata. */
- resultMetadata->addEntry(ANDROID_JPEG_SIZE, &jpeg_size, 1);
+ resultMetadata->addEntry(ANDROID_JPEG_SIZE, jpeg_size);
return 0;
}
--
2.27.0
More information about the libcamera-devel
mailing list