summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHirokazu Honda <hiroh@chromium.org>2020-10-21 10:39:52 +0900
committerKieran Bingham <kieran.bingham@ideasonboard.com>2020-10-21 11:18:12 +0100
commitb8dd5ce944eca4d17df585bb059595729905f7ec (patch)
treef97c18dceae02825949738285b2115abe69e3b8a
parent88919c1e17b4d1bd8c3328899f533424f2cd9181 (diff)
android: Modify PostProcessor interface
In PostProcessor::process(), the |source| argument doesn't have to be a pointer. This replaces its type, const pointer, with const reference as the latter is preferred to the former. libcamera::Span is cheap to construct/copy/move. We should deal with the type as pass-by-value parameter. Therefore this also drops the const reference in the |destination| argument. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Umang Jain <email@uajain.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/android/camera_stream.cpp2
-rw-r--r--src/android/jpeg/post_processor_jpeg.cpp6
-rw-r--r--src/android/jpeg/post_processor_jpeg.h4
-rw-r--r--src/android/post_processor.h4
4 files changed, 8 insertions, 8 deletions
diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp
index eae451ec..3e5d6bef 100644
--- a/src/android/camera_stream.cpp
+++ b/src/android/camera_stream.cpp
@@ -102,7 +102,7 @@ int CameraStream::process(const libcamera::FrameBuffer &source,
if (!postProcessor_)
return 0;
- return postProcessor_->process(&source, dest->maps()[0], metadata);
+ return postProcessor_->process(source, dest->maps()[0], metadata);
}
FrameBuffer *CameraStream::getBuffer()
diff --git a/src/android/jpeg/post_processor_jpeg.cpp b/src/android/jpeg/post_processor_jpeg.cpp
index 9d452b74..90bf10d5 100644
--- a/src/android/jpeg/post_processor_jpeg.cpp
+++ b/src/android/jpeg/post_processor_jpeg.cpp
@@ -44,8 +44,8 @@ int PostProcessorJpeg::configure(const StreamConfiguration &inCfg,
return encoder_->configure(inCfg);
}
-int PostProcessorJpeg::process(const libcamera::FrameBuffer *source,
- const libcamera::Span<uint8_t> &destination,
+int PostProcessorJpeg::process(const libcamera::FrameBuffer &source,
+ libcamera::Span<uint8_t> destination,
CameraMetadata *metadata)
{
if (!encoder_)
@@ -67,7 +67,7 @@ int PostProcessorJpeg::process(const libcamera::FrameBuffer *source,
if (exif.generate() != 0)
LOG(JPEG, Error) << "Failed to generate valid EXIF data";
- int jpeg_size = encoder_->encode(source, destination, exif.data());
+ int jpeg_size = encoder_->encode(&source, destination, exif.data());
if (jpeg_size < 0) {
LOG(JPEG, Error) << "Failed to encode stream image";
return jpeg_size;
diff --git a/src/android/jpeg/post_processor_jpeg.h b/src/android/jpeg/post_processor_jpeg.h
index 62c86502..ae636ff3 100644
--- a/src/android/jpeg/post_processor_jpeg.h
+++ b/src/android/jpeg/post_processor_jpeg.h
@@ -23,8 +23,8 @@ public:
int configure(const libcamera::StreamConfiguration &incfg,
const libcamera::StreamConfiguration &outcfg) override;
- int process(const libcamera::FrameBuffer *source,
- const libcamera::Span<uint8_t> &destination,
+ int process(const libcamera::FrameBuffer &source,
+ libcamera::Span<uint8_t> destination,
CameraMetadata *metadata) override;
private:
diff --git a/src/android/post_processor.h b/src/android/post_processor.h
index a891c43a..5f87a5d1 100644
--- a/src/android/post_processor.h
+++ b/src/android/post_processor.h
@@ -20,8 +20,8 @@ public:
virtual int configure(const libcamera::StreamConfiguration &inCfg,
const libcamera::StreamConfiguration &outCfg) = 0;
- virtual int process(const libcamera::FrameBuffer *source,
- const libcamera::Span<uint8_t> &destination,
+ virtual int process(const libcamera::FrameBuffer &source,
+ libcamera::Span<uint8_t> destination,
CameraMetadata *metadata) = 0;
};