[libcamera-devel] [PATCH 1/1] pipeline: raspberrypi: Detect monochrome "R" formats as being raw

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Oct 4 21:59:30 CEST 2022


Hi David,

Thank you for the patch.

On Mon, Aug 15, 2022 at 03:16:37PM +0100, David Plowman via libcamera-devel wrote:
> The "R" pixel formats (R8, R10, R10_CSI2P etc.) record the associated
> colour space as being YUV rather than RAW, meaning that the code was
> not detecting them as being raw formats.
> 
> In the case of Raspberry Pi, we deal only with raw formats, so the
> revised test must work correctly for both these and the standard Bayer
> formats.

That seems fine to me. We'll still need a more generic solution for
platforms that can capture processed greyscale images, but that's for
later.

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
> ---
>  src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 14 ++------------
>  1 file changed, 2 insertions(+), 12 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index e895584d..fae8e45e 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -105,18 +105,8 @@ V4L2DeviceFormat toV4L2DeviceFormat(const V4L2VideoDevice *dev,
>  
>  bool isRaw(const PixelFormat &pixFmt)
>  {
> -	/*
> -	 * The isRaw test might be redundant right now the pipeline handler only
> -	 * supports RAW sensors. Leave it in for now, just as a sanity check.
> -	 */
> -	if (!pixFmt.isValid())
> -		return false;
> -
> -	const PixelFormatInfo &info = PixelFormatInfo::info(pixFmt);
> -	if (!info.isValid())
> -		return false;
> -
> -	return info.colourEncoding == PixelFormatInfo::ColourEncodingRAW;
> +	/* This test works for both Bayer and raw mono formats. */
> +	return BayerFormat::fromPixelFormat(pixFmt).isValid();
>  }
>  
>  double scoreFormat(double desired, double actual)

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list