[libcamera-devel] [PATCH 7/7] libcamera: formats: Map V4L2_PIX_FMT_JPEG to formats::MJPEG

Jacopo Mondi jacopo at jmondi.org
Fri Jul 15 15:50:07 CEST 2022


The V4L2_PIX_FMT_JPEG and V4L2_PIX_FMT_MJPEG formats are under-specified
and are used interchangeably by kernel drivers.

Map both of them to formats::MJPEG and use the newly re-introduced
V4L2VideoDevice::toV4L2PixelFormat() to map to the one actually used by
the video device.

Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/libcamera/formats.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp
index 86fc698a0f4e..564ccc1b5a62 100644
--- a/src/libcamera/formats.cpp
+++ b/src/libcamera/formats.cpp
@@ -948,7 +948,10 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
 		.name = "MJPEG",
 		.format = formats::MJPEG,
 		.v4l2Formats = {
-			.single = { V4L2PixelFormat(V4L2_PIX_FMT_MJPEG) },
+			.single = {
+					V4L2PixelFormat(V4L2_PIX_FMT_MJPEG),
+					V4L2PixelFormat(V4L2_PIX_FMT_JPEG),
+			},
 			.multi = { V4L2PixelFormat() },
 		},
 		.bitsPerPixel = 0,
-- 
2.36.1



More information about the libcamera-devel mailing list