From 676d952df003b9758616797ad8638655d56cd822 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Fri, 22 May 2020 04:02:06 +0300 Subject: qcam: Replace explicit DRM FourCCs with libcamera formats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the new pixel format constants to replace usage of macros from drm_fourcc.h. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham Reviewed-by: Niklas Söderlund --- src/qcam/dng_writer.cpp | 25 +++++++++++++------------ src/qcam/format_converter.cpp | 36 +++++++++++++++++++----------------- src/qcam/viewfinder.cpp | 10 ++++++---- 3 files changed, 38 insertions(+), 33 deletions(-) (limited to 'src/qcam') diff --git a/src/qcam/dng_writer.cpp b/src/qcam/dng_writer.cpp index 77e2333b..61505d38 100644 --- a/src/qcam/dng_writer.cpp +++ b/src/qcam/dng_writer.cpp @@ -14,6 +14,7 @@ #include #include +#include using namespace libcamera; @@ -181,73 +182,73 @@ void thumbScanlineIPU3(const FormatInfo &info, void *output, } static const std::map formatInfo = { - { PixelFormat(DRM_FORMAT_SBGGR10, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SBGGR10_CSI2P, { .bitsPerSample = 10, .pattern = { CFAPatternBlue, CFAPatternGreen, CFAPatternGreen, CFAPatternRed }, .packScanline = packScanlineSBGGR10P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SGBRG10, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SGBRG10_CSI2P, { .bitsPerSample = 10, .pattern = { CFAPatternGreen, CFAPatternBlue, CFAPatternRed, CFAPatternGreen }, .packScanline = packScanlineSBGGR10P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SGRBG10, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SGRBG10_CSI2P, { .bitsPerSample = 10, .pattern = { CFAPatternGreen, CFAPatternRed, CFAPatternBlue, CFAPatternGreen }, .packScanline = packScanlineSBGGR10P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SRGGB10, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SRGGB10_CSI2P, { .bitsPerSample = 10, .pattern = { CFAPatternRed, CFAPatternGreen, CFAPatternGreen, CFAPatternBlue }, .packScanline = packScanlineSBGGR10P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SBGGR12, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SBGGR12_CSI2P, { .bitsPerSample = 12, .pattern = { CFAPatternBlue, CFAPatternGreen, CFAPatternGreen, CFAPatternRed }, .packScanline = packScanlineSBGGR12P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SGBRG12, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SGBRG12_CSI2P, { .bitsPerSample = 12, .pattern = { CFAPatternGreen, CFAPatternBlue, CFAPatternRed, CFAPatternGreen }, .packScanline = packScanlineSBGGR12P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SGRBG12, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SGRBG12_CSI2P, { .bitsPerSample = 12, .pattern = { CFAPatternGreen, CFAPatternRed, CFAPatternBlue, CFAPatternGreen }, .packScanline = packScanlineSBGGR12P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SRGGB12, MIPI_FORMAT_MOD_CSI2_PACKED), { + { formats::SRGGB12_CSI2P, { .bitsPerSample = 12, .pattern = { CFAPatternRed, CFAPatternGreen, CFAPatternGreen, CFAPatternBlue }, .packScanline = packScanlineSBGGR12P, .thumbScanline = thumbScanlineSBGGRxxP, } }, - { PixelFormat(DRM_FORMAT_SBGGR10, IPU3_FORMAT_MOD_PACKED), { + { formats::SBGGR10_IPU3, { .bitsPerSample = 16, .pattern = { CFAPatternBlue, CFAPatternGreen, CFAPatternGreen, CFAPatternRed }, .packScanline = packScanlineIPU3, .thumbScanline = thumbScanlineIPU3, } }, - { PixelFormat(DRM_FORMAT_SGBRG10, IPU3_FORMAT_MOD_PACKED), { + { formats::SGBRG10_IPU3, { .bitsPerSample = 16, .pattern = { CFAPatternGreen, CFAPatternBlue, CFAPatternRed, CFAPatternGreen }, .packScanline = packScanlineIPU3, .thumbScanline = thumbScanlineIPU3, } }, - { PixelFormat(DRM_FORMAT_SGRBG10, IPU3_FORMAT_MOD_PACKED), { + { formats::SGRBG10_IPU3, { .bitsPerSample = 16, .pattern = { CFAPatternGreen, CFAPatternRed, CFAPatternBlue, CFAPatternGreen }, .packScanline = packScanlineIPU3, .thumbScanline = thumbScanlineIPU3, } }, - { PixelFormat(DRM_FORMAT_SRGGB10, IPU3_FORMAT_MOD_PACKED), { + { formats::SRGGB10_IPU3, { .bitsPerSample = 16, .pattern = { CFAPatternRed, CFAPatternGreen, CFAPatternGreen, CFAPatternBlue }, .packScanline = packScanlineIPU3, diff --git a/src/qcam/format_converter.cpp b/src/qcam/format_converter.cpp index bf887ad4..4b9722d4 100644 --- a/src/qcam/format_converter.cpp +++ b/src/qcam/format_converter.cpp @@ -11,6 +11,8 @@ #include +#include + #define RGBSHIFT 8 #ifndef MAX #define MAX(a,b) ((a)>(b)?(a):(b)) @@ -29,79 +31,79 @@ int FormatConverter::configure(const libcamera::PixelFormat &format, const QSize &size) { switch (format) { - case DRM_FORMAT_NV12: + case libcamera::formats::NV12: formatFamily_ = NV; horzSubSample_ = 2; vertSubSample_ = 2; nvSwap_ = false; break; - case DRM_FORMAT_NV21: + case libcamera::formats::NV21: formatFamily_ = NV; horzSubSample_ = 2; vertSubSample_ = 2; nvSwap_ = true; break; - case DRM_FORMAT_NV16: + case libcamera::formats::NV16: formatFamily_ = NV; horzSubSample_ = 2; vertSubSample_ = 1; nvSwap_ = false; break; - case DRM_FORMAT_NV61: + case libcamera::formats::NV61: formatFamily_ = NV; horzSubSample_ = 2; vertSubSample_ = 1; nvSwap_ = true; break; - case DRM_FORMAT_NV24: + case libcamera::formats::NV24: formatFamily_ = NV; horzSubSample_ = 1; vertSubSample_ = 1; nvSwap_ = false; break; - case DRM_FORMAT_NV42: + case libcamera::formats::NV42: formatFamily_ = NV; horzSubSample_ = 1; vertSubSample_ = 1; nvSwap_ = true; break; - case DRM_FORMAT_RGB888: + case libcamera::formats::RGB888: formatFamily_ = RGB; r_pos_ = 2; g_pos_ = 1; b_pos_ = 0; bpp_ = 3; break; - case DRM_FORMAT_BGR888: + case libcamera::formats::BGR888: formatFamily_ = RGB; r_pos_ = 0; g_pos_ = 1; b_pos_ = 2; bpp_ = 3; break; - case DRM_FORMAT_ARGB8888: + case libcamera::formats::ARGB8888: formatFamily_ = RGB; r_pos_ = 2; g_pos_ = 1; b_pos_ = 0; bpp_ = 4; break; - case DRM_FORMAT_RGBA8888: + case libcamera::formats::RGBA8888: formatFamily_ = RGB; r_pos_ = 3; g_pos_ = 2; b_pos_ = 1; bpp_ = 4; break; - case DRM_FORMAT_ABGR8888: + case libcamera::formats::ABGR8888: formatFamily_ = RGB; r_pos_ = 0; g_pos_ = 1; b_pos_ = 2; bpp_ = 4; break; - case DRM_FORMAT_BGRA8888: + case libcamera::formats::BGRA8888: formatFamily_ = RGB; r_pos_ = 1; g_pos_ = 2; @@ -109,28 +111,28 @@ int FormatConverter::configure(const libcamera::PixelFormat &format, bpp_ = 4; break; - case DRM_FORMAT_VYUY: + case libcamera::formats::VYUY: formatFamily_ = YUV; y_pos_ = 1; cb_pos_ = 2; break; - case DRM_FORMAT_YVYU: + case libcamera::formats::YVYU: formatFamily_ = YUV; y_pos_ = 0; cb_pos_ = 3; break; - case DRM_FORMAT_UYVY: + case libcamera::formats::UYVY: formatFamily_ = YUV; y_pos_ = 1; cb_pos_ = 0; break; - case DRM_FORMAT_YUYV: + case libcamera::formats::YUYV: formatFamily_ = YUV; y_pos_ = 0; cb_pos_ = 1; break; - case DRM_FORMAT_MJPEG: + case libcamera::formats::MJPEG: formatFamily_ = MJPEG; break; diff --git a/src/qcam/viewfinder.cpp b/src/qcam/viewfinder.cpp index 7a308f53..dcf8a15d 100644 --- a/src/qcam/viewfinder.cpp +++ b/src/qcam/viewfinder.cpp @@ -17,18 +17,20 @@ #include #include +#include + #include "format_converter.h" static const QMap nativeFormats { #if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0) - { libcamera::PixelFormat{ DRM_FORMAT_ABGR8888 }, QImage::Format_RGBA8888 }, + { libcamera::formats::ABGR8888, QImage::Format_RGBA8888 }, #endif - { libcamera::PixelFormat{ DRM_FORMAT_ARGB8888 }, QImage::Format_RGB32 }, + { libcamera::formats::ARGB8888, QImage::Format_RGB32 }, #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) - { libcamera::PixelFormat{ DRM_FORMAT_RGB888 }, QImage::Format_BGR888 }, + { libcamera::formats::RGB888, QImage::Format_BGR888 }, #endif - { libcamera::PixelFormat{ DRM_FORMAT_BGR888 }, QImage::Format_RGB888 }, + { libcamera::formats::BGR888, QImage::Format_RGB888 }, }; ViewFinder::ViewFinder(QWidget *parent) -- cgit v1.2.1