[libcamera-devel] [PATCH] libcamera: pipeline: simple: converter: Handle unsupported input format

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Jul 20 17:12:07 CEST 2022


Hi Xavier,

Thank you for the patch.

On Fri, Jul 15, 2022 at 05:16:07PM +0200, Xavier Roumegue via libcamera-devel wrote:
> SimpleConverter::formats() should return an empty vector if the input
> format is not supported by the converter.
> 
> Signed-off-by: Xavier Roumegue <xavier.roumegue at oss.nxp.com>

Makes sense.

> ---
>  src/libcamera/pipeline/simple/converter.cpp | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp
> index 77c44fc8..19134edc 100644
> --- a/src/libcamera/pipeline/simple/converter.cpp
> +++ b/src/libcamera/pipeline/simple/converter.cpp
> @@ -220,6 +220,12 @@ std::vector<PixelFormat> SimpleConverter::formats(PixelFormat input)
>  		return {};
>  	}
>  
> +	if (v4l2Format.fourcc != V4L2PixelFormat::fromPixelFormat(input)) {
> +		LOG(SimplePipeline, Debug)
> +			<< "Input format " << input.toString() << " not supported.";

PixelFormat has an operator<<(), so you can write

		LOG(SimplePipeline, Debug)
			<< "Input format " << input << " not supported.";

With this,

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

No need for a v2, I'll make the change when applying.

> +		return {};
> +	}
> +
>  	std::vector<PixelFormat> pixelFormats;
>  
>  	for (const auto &format : m2m_->capture()->formats()) {

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list