Message ID | 20200704133140.1738660-16-paul.elder@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
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@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@ideasonboard.com> > + PixelFormat pixelFormat = format.first.toPixelFormat(); > + if (pixelFormat.isValid()) > + deviceFormats[pixelFormat] = format.second; > + } > > StreamFormats formats(deviceFormats); > StreamConfiguration cfg(formats);
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) { + PixelFormat pixelFormat = format.first.toPixelFormat(); + if (pixelFormat.isValid()) + deviceFormats[pixelFormat] = format.second; + } StreamFormats formats(deviceFormats); StreamConfiguration cfg(formats);
Unsupported formats should not be added to the configuration when generating the configuration. Filter them out. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> --- No change in v3 --- src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)