[libcamera-devel] [PATCH v2 2/4] libcamera: pipeline: rkisp1: Don't hardcode NV12 in configureStreams()

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Apr 19 12:28:42 CEST 2019


Use the pixel format requested by the application in the
RkISP1PipelineHandler::configureStreams() method instead of hardcoding
NV12. The streamsConfiguration() method still proposes NV12 by default.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 8ed0ba84780a..51f00fb68402 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -223,7 +223,7 @@ int PipelineHandlerRkISP1::configureStreams(Camera *camera,
 	V4L2DeviceFormat outputFormat = {};
 	outputFormat.width = cfg.width;
 	outputFormat.height = cfg.height;
-	outputFormat.fourcc = V4L2_PIX_FMT_NV12;
+	outputFormat.fourcc = cfg.pixelFormat;
 	outputFormat.planesCount = 2;
 
 	ret = video_->setFormat(&outputFormat);
@@ -232,12 +232,12 @@ int PipelineHandlerRkISP1::configureStreams(Camera *camera,
 
 	if (outputFormat.width != cfg.width ||
 	    outputFormat.height != cfg.height ||
-	    outputFormat.fourcc != V4L2_PIX_FMT_NV12) {
+	    outputFormat.fourcc != cfg.pixelFormat) {
 		LOG(RkISP1, Error)
 			<< "Unable to configure capture in " << cfg.width
 			<< "x" << cfg.height << "-0x"
 			<< std::hex << std::setfill('0') << std::setw(8)
-			<< V4L2_PIX_FMT_NV12;
+			<< cfg.pixelFormat;
 		return -EINVAL;
 	}
 
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list