summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVedant Paranjape <vedantparanjape160201@gmail.com>2021-07-16 02:16:17 +0530
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-07-16 00:16:08 +0300
commit4889464fd82aa11738ce00d9079adec339878f90 (patch)
tree0969f7c7f652db43b14b798782e5c1cb40d0014b
parent3715d1b21d9c73a7af56c845db7c8e412e28f5c2 (diff)
libcamera: Add pixel format BGRX8888
This patch adds pixel format BGRX8888 to libcamera. Additionally adds mapping of V4L2 pixel format (V4L2_PIX_FMT_XRGB32) to BGRX8888. Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/libcamera/formats.cpp10
-rw-r--r--src/libcamera/v4l2_pixelformat.cpp1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp
index 578ac4af..8f1197de 100644
--- a/src/libcamera/formats.cpp
+++ b/src/libcamera/formats.cpp
@@ -205,6 +205,16 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
.pixelsPerGroup = 1,
.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},
} },
+ { formats::BGRX8888, {
+ .name = "BGRX8888",
+ .format = formats::BGRX8888,
+ .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_XRGB32),
+ .bitsPerPixel = 32,
+ .colourEncoding = PixelFormatInfo::ColourEncodingRGB,
+ .packed = false,
+ .pixelsPerGroup = 1,
+ .planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},
+ } },
{ formats::ABGR8888, {
.name = "ABGR8888",
.format = formats::ABGR8888,
diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp
index 59a01e02..93fc4446 100644
--- a/src/libcamera/v4l2_pixelformat.cpp
+++ b/src/libcamera/v4l2_pixelformat.cpp
@@ -52,6 +52,7 @@ const std::map<V4L2PixelFormat, PixelFormat> vpf2pf{
{ V4L2PixelFormat(V4L2_PIX_FMT_RGB24), formats::BGR888 },
{ V4L2PixelFormat(V4L2_PIX_FMT_BGR24), formats::RGB888 },
{ V4L2PixelFormat(V4L2_PIX_FMT_XBGR32), formats::XRGB8888 },
+ { V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), formats::BGRX8888 },
{ V4L2PixelFormat(V4L2_PIX_FMT_RGBX32), formats::XBGR8888 },
{ V4L2PixelFormat(V4L2_PIX_FMT_RGBA32), formats::ABGR8888 },
{ V4L2PixelFormat(V4L2_PIX_FMT_ABGR32), formats::ARGB8888 },