summaryrefslogtreecommitdiff
path: root/src/qcam
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-05-22 04:02:06 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-06-18 13:26:44 +0300
commit676d952df003b9758616797ad8638655d56cd822 (patch)
tree8664700e0b9c89f8a08c82a1775f53df16dbab8a /src/qcam
parent2748265edc2ce17a428511c4c69ab78ca25ee8cd (diff)
qcam: Replace explicit DRM FourCCs with libcamera formats
Use the new pixel format constants to replace usage of macros from drm_fourcc.h. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/qcam')
-rw-r--r--src/qcam/dng_writer.cpp25
-rw-r--r--src/qcam/format_converter.cpp36
-rw-r--r--src/qcam/viewfinder.cpp10
3 files changed, 38 insertions, 33 deletions
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 <tiffio.h>
#include <libcamera/control_ids.h>
+#include <libcamera/formats.h>
using namespace libcamera;
@@ -181,73 +182,73 @@ void thumbScanlineIPU3(const FormatInfo &info, void *output,
}
static const std::map<PixelFormat, FormatInfo> 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 <QImage>
+#include <libcamera/formats.h>
+
#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 <QPainter>
#include <QtDebug>
+#include <libcamera/formats.h>
+
#include "format_converter.h"
static const QMap<libcamera::PixelFormat, QImage::Format> 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)