summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorUmang Jain <umang.jain@ideasonboard.com>2021-10-26 12:51:47 +0530
committerUmang Jain <umang.jain@ideasonboard.com>2021-10-26 16:11:17 +0530
commit05862a7e35b708812f7cb6e641f7a7c1c10efea3 (patch)
tree005970577b6141fa0efccda771c749a8f16b7066 /src
parent6b706e1c3ec5eb1dbf45488143977039644c090c (diff)
android: post_processor: Drop return value for process()
PostProcessor::process() is invoked by CameraStream class in case any post-processing is required for the camera stream. The failure or success is checked via the value returned by CameraStream::process(). Now that the post-processor notifies about the post-processing completion operation, we can drop the return value of PostProcessor::process(). The status of post-processing is passed to CameraDevice::streamProcessingComplete() by the PostProcessor::processComplete signal's slot. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/android/camera_stream.cpp4
-rw-r--r--src/android/jpeg/post_processor_jpeg.cpp6
-rw-r--r--src/android/jpeg/post_processor_jpeg.h2
-rw-r--r--src/android/post_processor.h2
-rw-r--r--src/android/yuv/post_processor_yuv.cpp10
-rw-r--r--src/android/yuv/post_processor_yuv.h2
6 files changed, 12 insertions, 14 deletions
diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp
index dac216d6..fed99022 100644
--- a/src/android/camera_stream.cpp
+++ b/src/android/camera_stream.cpp
@@ -191,7 +191,9 @@ int CameraStream::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)
return -EINVAL;
}
- return postProcessor_->process(streamBuffer);
+ postProcessor_->process(streamBuffer);
+
+ return 0;
}
FrameBuffer *CameraStream::getBuffer()
diff --git a/src/android/jpeg/post_processor_jpeg.cpp b/src/android/jpeg/post_processor_jpeg.cpp
index 5e8c61fc..d72ebc3c 100644
--- a/src/android/jpeg/post_processor_jpeg.cpp
+++ b/src/android/jpeg/post_processor_jpeg.cpp
@@ -98,7 +98,7 @@ void PostProcessorJpeg::generateThumbnail(const FrameBuffer &source,
}
}
-int PostProcessorJpeg::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)
+void PostProcessorJpeg::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)
{
ASSERT(encoder_);
@@ -199,7 +199,7 @@ int PostProcessorJpeg::process(Camera3RequestDescriptor::StreamBuffer *streamBuf
if (jpeg_size < 0) {
LOG(JPEG, Error) << "Failed to encode stream image";
processComplete.emit(streamBuffer, PostProcessor::Status::Error);
- return jpeg_size;
+ return;
}
/* Fill in the JPEG blob header. */
@@ -213,6 +213,4 @@ int PostProcessorJpeg::process(Camera3RequestDescriptor::StreamBuffer *streamBuf
/* Update the JPEG result Metadata. */
resultMetadata->addEntry(ANDROID_JPEG_SIZE, jpeg_size);
processComplete.emit(streamBuffer, PostProcessor::Status::Success);
-
- return 0;
}
diff --git a/src/android/jpeg/post_processor_jpeg.h b/src/android/jpeg/post_processor_jpeg.h
index 92385548..43fcbe60 100644
--- a/src/android/jpeg/post_processor_jpeg.h
+++ b/src/android/jpeg/post_processor_jpeg.h
@@ -22,7 +22,7 @@ public:
int configure(const libcamera::StreamConfiguration &incfg,
const libcamera::StreamConfiguration &outcfg) override;
- int process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) override;
+ void process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) override;
private:
void generateThumbnail(const libcamera::FrameBuffer &source,
diff --git a/src/android/post_processor.h b/src/android/post_processor.h
index 4ac74fcf..5ec71c93 100644
--- a/src/android/post_processor.h
+++ b/src/android/post_processor.h
@@ -27,7 +27,7 @@ public:
virtual int configure(const libcamera::StreamConfiguration &inCfg,
const libcamera::StreamConfiguration &outCfg) = 0;
- virtual int process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) = 0;
+ virtual void process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) = 0;
libcamera::Signal<Camera3RequestDescriptor::StreamBuffer *, Status> processComplete;
};
diff --git a/src/android/yuv/post_processor_yuv.cpp b/src/android/yuv/post_processor_yuv.cpp
index 05c4f1cf..9f883924 100644
--- a/src/android/yuv/post_processor_yuv.cpp
+++ b/src/android/yuv/post_processor_yuv.cpp
@@ -49,21 +49,21 @@ int PostProcessorYuv::configure(const StreamConfiguration &inCfg,
return 0;
}
-int PostProcessorYuv::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)
+void PostProcessorYuv::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)
{
const FrameBuffer &source = *streamBuffer->srcBuffer;
CameraBuffer *destination = streamBuffer->dstBuffer.get();
if (!isValidBuffers(source, *destination)) {
processComplete.emit(streamBuffer, PostProcessor::Status::Error);
- return -EINVAL;
+ return;
}
const MappedFrameBuffer sourceMapped(&source, MappedFrameBuffer::MapFlag::Read);
if (!sourceMapped.isValid()) {
LOG(YUV, Error) << "Failed to mmap camera frame buffer";
processComplete.emit(streamBuffer, PostProcessor::Status::Error);
- return -EINVAL;
+ return;
}
int ret = libyuv::NV12Scale(sourceMapped.planes()[0].data(),
@@ -81,12 +81,10 @@ int PostProcessorYuv::process(Camera3RequestDescriptor::StreamBuffer *streamBuff
if (ret) {
LOG(YUV, Error) << "Failed NV12 scaling: " << ret;
processComplete.emit(streamBuffer, PostProcessor::Status::Error);
- return -EINVAL;
+ return;
}
processComplete.emit(streamBuffer, PostProcessor::Status::Success);
-
- return 0;
}
bool PostProcessorYuv::isValidBuffers(const FrameBuffer &source,
diff --git a/src/android/yuv/post_processor_yuv.h b/src/android/yuv/post_processor_yuv.h
index 5954e11b..39ec7994 100644
--- a/src/android/yuv/post_processor_yuv.h
+++ b/src/android/yuv/post_processor_yuv.h
@@ -18,7 +18,7 @@ public:
int configure(const libcamera::StreamConfiguration &incfg,
const libcamera::StreamConfiguration &outcfg) override;
- int process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) override;
+ void process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) override;
private:
bool isValidBuffers(const libcamera::FrameBuffer &source,