[libcamera-devel] [PATCH v3 15/22] libcamera: pipeline: uvcvideo: Filter out unsupported formats

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Jul 4 23:26:02 CEST 2020


Hi Paul,

Thank you for the patch.

On Sat, Jul 04, 2020 at 10:31:33PM +0900, Paul Elder wrote:
> Unsupported formats should not be added to the configuration when
> generating the configuration. Filter them out.
> 
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> 
> ---
> No change in v3
> ---
>  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 13 +++++--------
>  1 file changed, 5 insertions(+), 8 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
> index 80a0e77..a5feab6 100644
> --- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
> +++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
> @@ -161,14 +161,11 @@ CameraConfiguration *PipelineHandlerUVC::generateConfiguration(Camera *camera,
>  	std::map<V4L2PixelFormat, std::vector<SizeRange>> v4l2Formats =
>  		data->video_->formats();
>  	std::map<PixelFormat, std::vector<SizeRange>> deviceFormats;
> -	std::transform(v4l2Formats.begin(), v4l2Formats.end(),
> -		       std::inserter(deviceFormats, deviceFormats.begin()),
> -		       [&](const decltype(v4l2Formats)::value_type &format) {
> -			       return decltype(deviceFormats)::value_type{
> -				       format.first.toPixelFormat(),
> -				       format.second
> -			       };
> -		       });
> +	for (auto format : v4l2Formats) {

	for (const auto &format : v4l2Formats) {

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

> +		PixelFormat pixelFormat = format.first.toPixelFormat();
> +		if (pixelFormat.isValid())
> +			deviceFormats[pixelFormat] = format.second;
> +	}
>  
>  	StreamFormats formats(deviceFormats);
>  	StreamConfiguration cfg(formats);

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list