summaryrefslogtreecommitdiff
path: root/src/libcamera/v4l2_videodevice.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-16 10:07:26 +0200
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-03-18 18:02:40 +0100
commit718f5e99a966246de8d129902ad470872652b749 (patch)
tree0e16bc1b512304c8341c4a1334654d508631a7a7 /src/libcamera/v4l2_videodevice.cpp
parent8c0bbcd3d3751a716eb8bf03e703aa6fdbe1bd3f (diff)
libcamera: PixelFormat: Make constructor explicit
To achieve the goal of preventing unwanted conversion between a DRM and a V4L2 FourCC, make the PixelFormat constructor that takes an integer value explicit. All users of pixel formats flagged by the compiler are fixed. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/libcamera/v4l2_videodevice.cpp')
-rw-r--r--src/libcamera/v4l2_videodevice.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index ce67e04c..455675fd 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -1427,39 +1427,39 @@ PixelFormat V4L2VideoDevice::toPixelFormat(uint32_t v4l2Fourcc)
switch (v4l2Fourcc) {
/* RGB formats. */
case V4L2_PIX_FMT_RGB24:
- return DRM_FORMAT_BGR888;
+ return PixelFormat(DRM_FORMAT_BGR888);
case V4L2_PIX_FMT_BGR24:
- return DRM_FORMAT_RGB888;
+ return PixelFormat(DRM_FORMAT_RGB888);
case V4L2_PIX_FMT_ARGB32:
- return DRM_FORMAT_BGRA8888;
+ return PixelFormat(DRM_FORMAT_BGRA8888);
/* YUV packed formats. */
case V4L2_PIX_FMT_YUYV:
- return DRM_FORMAT_YUYV;
+ return PixelFormat(DRM_FORMAT_YUYV);
case V4L2_PIX_FMT_YVYU:
- return DRM_FORMAT_YVYU;
+ return PixelFormat(DRM_FORMAT_YVYU);
case V4L2_PIX_FMT_UYVY:
- return DRM_FORMAT_UYVY;
+ return PixelFormat(DRM_FORMAT_UYVY);
case V4L2_PIX_FMT_VYUY:
- return DRM_FORMAT_VYUY;
+ return PixelFormat(DRM_FORMAT_VYUY);
/* YUY planar formats. */
case V4L2_PIX_FMT_NV16:
case V4L2_PIX_FMT_NV16M:
- return DRM_FORMAT_NV16;
+ return PixelFormat(DRM_FORMAT_NV16);
case V4L2_PIX_FMT_NV61:
case V4L2_PIX_FMT_NV61M:
- return DRM_FORMAT_NV61;
+ return PixelFormat(DRM_FORMAT_NV61);
case V4L2_PIX_FMT_NV12:
case V4L2_PIX_FMT_NV12M:
- return DRM_FORMAT_NV12;
+ return PixelFormat(DRM_FORMAT_NV12);
case V4L2_PIX_FMT_NV21:
case V4L2_PIX_FMT_NV21M:
- return DRM_FORMAT_NV21;
+ return PixelFormat(DRM_FORMAT_NV21);
/* Compressed formats. */
case V4L2_PIX_FMT_MJPEG:
- return DRM_FORMAT_MJPEG;
+ return PixelFormat(DRM_FORMAT_MJPEG);
/* V4L2 formats not yet supported by DRM. */
case V4L2_PIX_FMT_GREY:
@@ -1472,7 +1472,7 @@ PixelFormat V4L2VideoDevice::toPixelFormat(uint32_t v4l2Fourcc)
LogError).stream()
<< "Unsupported V4L2 pixel format "
<< utils::hex(v4l2Fourcc);
- return 0;
+ return PixelFormat();
}
}