diff options
Diffstat (limited to 'src/qcam')
-rw-r--r-- | src/qcam/dng_writer.cpp | 25 | ||||
-rw-r--r-- | src/qcam/format_converter.cpp | 36 | ||||
-rw-r--r-- | src/qcam/viewfinder.cpp | 10 |
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) |