[libcamera-devel,v2,2/3] android: camera_stream: Support PostProcessorYuv in CameraStream
diff mbox series

Message ID 20210819201214.1554322-3-hiroh@chromium.org
State Superseded
Headers show
Series
  • android: Request one stream for identica stream requests
Related show

Commit Message

Hirokazu Honda Aug. 19, 2021, 8:12 p.m. UTC
CameraStream creates PostProcessorYuv if the destination format
is NV12.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/android/camera_stream.cpp | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

Patch
diff mbox series

diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp
index c205cd7a..c728051f 100644
--- a/src/android/camera_stream.cpp
+++ b/src/android/camera_stream.cpp
@@ -9,13 +9,15 @@ 
 
 #include <sys/mman.h>
 
+#include <libcamera/formats.h>
+
+#include "jpeg/post_processor_jpeg.h"
+#include "yuv/post_processor_yuv.h"
+
 #include "camera_buffer.h"
 #include "camera_capabilities.h"
 #include "camera_device.h"
 #include "camera_metadata.h"
-#include "jpeg/post_processor_jpeg.h"
-
-#include <libcamera/formats.h>
 
 using namespace libcamera;
 
@@ -68,6 +70,12 @@  int CameraStream::configure()
 		StreamConfiguration output = configuration();
 		output.pixelFormat = outFormat;
 		switch (outFormat) {
+		case formats::NV12:
+			postProcessor_ = std::make_unique<PostProcessorYuv>();
+			output.size.width = camera3Stream_->width;
+			output.size.height = camera3Stream_->height;
+			break;
+
 		case formats::MJPEG:
 			postProcessor_ = std::make_unique<PostProcessorJpeg>(cameraDevice_);
 			break;