[libcamera-devel] [PATCH] pipeline: rpi: Account for Bayer packing when validating format

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Jul 5 18:52:05 CEST 2023


Quoting Naushir Patuck via libcamera-devel (2023-06-30 14:42:32)
> 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 at raspberrypi.com>

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> ---
>  src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 4 ++--
>  1 file 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 df7482920e75..2eb71beaff55 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)
> -- 
> 2.34.1
>


More information about the libcamera-devel mailing list