summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2023-09-21 18:55:48 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-09-27 14:43:38 +0300
commitb60a5c34fb92fc1896079a195d8bfea3b40d49df (patch)
tree1bdb9f32a941463c858a06af12a00d92cfa6277a /src
parent723c0abb40f9cfe68373a3b6d2ced45885db7239 (diff)
libcamera: rpi: Change default stream formats
Switch to XRGB8888 as a default Viewfinder role output format, this is a more correct description of the ISP hardware output, and what is accepted by the Raspberry Pi hardware. Switch to YUV420 as a default output format for everything else, as this format is best supported by encoding (e.g. H.264, JPEG) sinks on the Raspberry Pi platform. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/pipeline/rpi/common/pipeline_base.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
index f4c83dad..11d14d43 100644
--- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
+++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
@@ -268,7 +268,7 @@ CameraConfiguration::Status RPiCameraConfiguration::validate()
if (fmts.find(out.dev->toV4L2PixelFormat(cfgPixFmt)) == fmts.end()) {
/* If we cannot find a native format, use a default one. */
- cfgPixFmt = formats::NV12;
+ cfgPixFmt = formats::YUV420;
status = Adjusted;
}
@@ -431,7 +431,7 @@ PipelineHandlerBase::generateConfiguration(Camera *camera, Span<const StreamRole
case StreamRole::StillCapture:
fmts = data->ispFormats();
- pixelFormat = formats::NV12;
+ pixelFormat = formats::YUV420;
/*
* Still image codecs usually expect the sYCC color space.
* Even RGB codecs will be fine as the RGB we get with the
@@ -465,7 +465,7 @@ PipelineHandlerBase::generateConfiguration(Camera *camera, Span<const StreamRole
case StreamRole::Viewfinder:
fmts = data->ispFormats();
- pixelFormat = formats::ARGB8888;
+ pixelFormat = formats::XRGB8888;
colorSpace = ColorSpace::Sycc;
size = { 800, 600 };
bufferCount = 4;