From 718f5e99a966246de8d129902ad470872652b749 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Mon, 16 Mar 2020 10:07:26 +0200 Subject: libcamera: PixelFormat: Make constructor explicit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Niklas Söderlund Signed-off-by: Niklas Söderlund --- src/libcamera/v4l2_videodevice.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src/libcamera/v4l2_videodevice.cpp') 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(); } } -- cgit v1.2.1