[libcamera-devel,v3,6/7] v4l2: v4l2_camera_proxy: Set the compressed flag in enum_fmt
diff mbox series

Message ID 20210909080902.239533-7-paul.elder@ideasonboard.com
State Accepted
Headers show
Series
  • v4l2-compat fixes
Related show

Commit Message

Paul Elder Sept. 9, 2021, 8:09 a.m. UTC
Set the compressed flag in ENUM_FMT if the format is MJPEG. As the only
compressed format that libcamera currently supports is MJPEG, this
should be sufficient.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/v4l2/v4l2_camera_proxy.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Jean-Michel Hautbois Sept. 9, 2021, 8:36 a.m. UTC | #1
On 09/09/2021 10:09, Paul Elder wrote:
> Set the compressed flag in ENUM_FMT if the format is MJPEG. As the only
> compressed format that libcamera currently supports is MJPEG, this
> should be sufficient.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
> ---
>  src/v4l2/v4l2_camera_proxy.cpp | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
> index abb30820..3610e63c 100644
> --- a/src/v4l2/v4l2_camera_proxy.cpp
> +++ b/src/v4l2/v4l2_camera_proxy.cpp
> @@ -276,8 +276,7 @@ int V4L2CameraProxy::vidioc_enum_fmt(V4L2CameraFile *file, struct v4l2_fmtdesc *
>  	PixelFormat format = streamConfig_.formats().pixelformats()[arg->index];
>  	V4L2PixelFormat v4l2Format = V4L2PixelFormat::fromPixelFormat(format);
>  
> -	/* \todo Set V4L2_FMT_FLAG_COMPRESSED for compressed formats. */
> -	arg->flags = 0;
> +	arg->flags = format == formats::MJPEG ? V4L2_FMT_FLAG_COMPRESSED : 0;
>  	utils::strlcpy(reinterpret_cast<char *>(arg->description),
>  		       v4l2Format.description(), sizeof(arg->description));
>  	arg->pixelformat = v4l2Format;
>

Patch
diff mbox series

diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
index abb30820..3610e63c 100644
--- a/src/v4l2/v4l2_camera_proxy.cpp
+++ b/src/v4l2/v4l2_camera_proxy.cpp
@@ -276,8 +276,7 @@  int V4L2CameraProxy::vidioc_enum_fmt(V4L2CameraFile *file, struct v4l2_fmtdesc *
 	PixelFormat format = streamConfig_.formats().pixelformats()[arg->index];
 	V4L2PixelFormat v4l2Format = V4L2PixelFormat::fromPixelFormat(format);
 
-	/* \todo Set V4L2_FMT_FLAG_COMPRESSED for compressed formats. */
-	arg->flags = 0;
+	arg->flags = format == formats::MJPEG ? V4L2_FMT_FLAG_COMPRESSED : 0;
 	utils::strlcpy(reinterpret_cast<char *>(arg->description),
 		       v4l2Format.description(), sizeof(arg->description));
 	arg->pixelformat = v4l2Format;