summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2023-06-30 14:42:32 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-07-07 11:39:34 +0300
commit7802471a3badb561f1e017c3ecdafc95a0a43d61 (patch)
treefded0d3134b52445e0901646fcf0f6383a44ea2b
parent954ba8a803c078784dfaa6674e687847f49a1dfb (diff)
pipeline: rpi: Account for Bayer packing when validating format
RPiCameraConfiguration::validate() did not account for user supplied Bayer packing when validating the RAW stream configuration. Fix this by seeing what packing (if any) has been specified selecting the output RAW stream format. Fixes: 6c71ee1f1530 ("pipeline: raspberrypi: Introduce PipelineHandlerBase class") Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/libcamera/pipeline/rpi/common/pipeline_base.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
index d438bdb6..179a5b81 100644
--- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
+++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
@@ -288,8 +288,8 @@ CameraConfiguration::Status RPiCameraConfiguration::validate()
unsigned int bitDepth = info.isValid() ? info.bitsPerPixel : defaultRawBitDepth;
V4L2SubdeviceFormat sensorFormat = findBestFormat(data_->sensorFormats_, cfg.size, bitDepth);
- rawFormat.size = sensorFormat.size;
- rawFormat.fourcc = raw.dev->toV4L2PixelFormat(cfg.pixelFormat);
+ BayerFormat::Packing packing = BayerFormat::fromPixelFormat(cfg.pixelFormat).packing;
+ rawFormat = PipelineHandlerBase::toV4L2DeviceFormat(raw.dev, sensorFormat, packing);
int ret = raw.dev->tryFormat(&rawFormat);
if (ret)