[libcamera-devel] [PATCH 1/2] v4l2: camera_proxy: Fix try_fmt format conversion
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Jan 7 18:02:55 CET 2020
Hi Jacopo,
Thank you for the patch.
On Tue, Jan 07, 2020 at 05:50:37PM +0100, Jacopo Mondi wrote:
> The set pixelformat field of struct v4l2_pix_format structure was
> wrongly converted to PixelFormat by calling v4l2ToDrm(), with an already
> converted 'format' argument.
>
> Fix this by calling the right drmToV4l2() conversion function.
>
> Fixes: 0ce8f2390b52 ("v4l2: v4l2_compat: Add V4L2 compatibility layer")
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
This kind of issue will be caught automatically once we extend the
PixelFormat to become a real class.
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/v4l2/v4l2_camera_proxy.cpp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
> index 559caba69270..dbcf333a761f 100644
> --- a/src/v4l2/v4l2_camera_proxy.cpp
> +++ b/src/v4l2/v4l2_camera_proxy.cpp
> @@ -281,7 +281,7 @@ int V4L2CameraProxy::vidioc_try_fmt(struct v4l2_format *arg)
>
> arg->fmt.pix.width = size.width;
> arg->fmt.pix.height = size.height;
> - arg->fmt.pix.pixelformat = v4l2ToDrm(format);
> + arg->fmt.pix.pixelformat = drmToV4L2(format);
> arg->fmt.pix.field = V4L2_FIELD_NONE;
> arg->fmt.pix.bytesperline = bplMultiplier(drmToV4L2(format)) *
> arg->fmt.pix.width;
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list