libcamera: formats: Merge V4L2 single and multi formats
To each libcamera PixelFormat two V4L2 formats are associated, the 'single' and 'multi' format variants. The two versions list plane contiguous and non-contiguous format variants, and an optional argument to V4L2PixelFormat::fromPixelFormat() was used to select which one to pick. In order to prepare to remove V4L2PixelFormat::fromPixelFormat(), and considering that no caller in the codebase uses the non-contiguous format variant, merge the two formats vectors in a single one and default the selection to the first available one, which is functionally equivalent to what is currently implemented. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
+71
-236
@@ -42,12 +42,9 @@ LOG_DEFINE_CATEGORY(Formats)
|
||||
* \var PixelFormatInfo::v4l2Formats
|
||||
* \brief The V4L2 pixel formats corresponding to the PixelFormat
|
||||
*
|
||||
* Multiple V4L2 formats may exist for one PixelFormat when the format uses
|
||||
* multiple planes, as V4L2 defines separate 4CCs for contiguous and separate
|
||||
* planes formats. The two entries in the array store the contiguous and
|
||||
* non-contiguous V4L2 formats respectively. If the PixelFormat isn't a
|
||||
* multiplanar format, or if no corresponding non-contiguous V4L2 format
|
||||
* exists, the second entry is invalid.
|
||||
* Multiple V4L2 formats may exist for one PixelFormat, as V4L2 defines
|
||||
* separate 4CCs for contiguous and non-contiguous versions of the same image
|
||||
* format.
|
||||
*
|
||||
* \var PixelFormatInfo::bitsPerPixel
|
||||
* \brief The average number of bits per pixel
|
||||
@@ -156,10 +153,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::RGB565, {
|
||||
.name = "RGB565",
|
||||
.format = formats::RGB565,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_RGB565),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_RGB565), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -169,10 +163,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::RGB565_BE, {
|
||||
.name = "RGB565_BE",
|
||||
.format = formats::RGB565_BE,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_RGB565X),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_RGB565X), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -182,10 +173,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::BGR888, {
|
||||
.name = "BGR888",
|
||||
.format = formats::BGR888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_RGB24),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_RGB24), },
|
||||
.bitsPerPixel = 24,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -195,10 +183,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::RGB888, {
|
||||
.name = "RGB888",
|
||||
.format = formats::RGB888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_BGR24),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_BGR24), },
|
||||
.bitsPerPixel = 24,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -208,10 +193,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::XRGB8888, {
|
||||
.name = "XRGB8888",
|
||||
.format = formats::XRGB8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_XBGR32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_XBGR32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -221,10 +203,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::XBGR8888, {
|
||||
.name = "XBGR8888",
|
||||
.format = formats::XBGR8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_RGBX32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_RGBX32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -234,10 +213,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::RGBX8888, {
|
||||
.name = "RGBX8888",
|
||||
.format = formats::RGBX8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_BGRX32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_BGRX32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -247,10 +223,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::BGRX8888, {
|
||||
.name = "BGRX8888",
|
||||
.format = formats::BGRX8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_XRGB32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -260,10 +233,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::ABGR8888, {
|
||||
.name = "ABGR8888",
|
||||
.format = formats::ABGR8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_RGBA32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_RGBA32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -273,10 +243,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::ARGB8888, {
|
||||
.name = "ARGB8888",
|
||||
.format = formats::ARGB8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_ABGR32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_ABGR32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -286,10 +253,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::BGRA8888, {
|
||||
.name = "BGRA8888",
|
||||
.format = formats::BGRA8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_ARGB32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_ARGB32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -299,10 +263,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::RGBA8888, {
|
||||
.name = "RGBA8888",
|
||||
.format = formats::RGBA8888,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_BGRA32),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_BGRA32), },
|
||||
.bitsPerPixel = 32,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRGB,
|
||||
.packed = false,
|
||||
@@ -314,10 +275,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::YUYV, {
|
||||
.name = "YUYV",
|
||||
.format = formats::YUYV,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_YUYV),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_YUYV), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -327,10 +285,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::YVYU, {
|
||||
.name = "YVYU",
|
||||
.format = formats::YVYU,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_YVYU),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_YVYU), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -340,10 +295,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::UYVY, {
|
||||
.name = "UYVY",
|
||||
.format = formats::UYVY,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_UYVY),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_UYVY), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -353,10 +305,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::VYUY, {
|
||||
.name = "VYUY",
|
||||
.format = formats::VYUY,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_VYUY),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_VYUY), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -369,8 +318,8 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
.name = "NV12",
|
||||
.format = formats::NV12,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_NV12),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_NV12M),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV12),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV12M),
|
||||
},
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
@@ -382,8 +331,8 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
.name = "NV21",
|
||||
.format = formats::NV21,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_NV21),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_NV21M),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV21),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV21M),
|
||||
},
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
@@ -395,8 +344,8 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
.name = "NV16",
|
||||
.format = formats::NV16,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_NV16),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_NV16M),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV16),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV16M),
|
||||
},
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
@@ -408,8 +357,8 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
.name = "NV61",
|
||||
.format = formats::NV61,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_NV61),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_NV61M),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV61),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_NV61M),
|
||||
},
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
@@ -420,10 +369,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::NV24, {
|
||||
.name = "NV24",
|
||||
.format = formats::NV24,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_NV24),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_NV24), },
|
||||
.bitsPerPixel = 24,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -433,10 +379,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::NV42, {
|
||||
.name = "NV42",
|
||||
.format = formats::NV42,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_NV42),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_NV42), },
|
||||
.bitsPerPixel = 24,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -447,8 +390,8 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
.name = "YUV420",
|
||||
.format = formats::YUV420,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_YUV420),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_YUV420M),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_YUV420),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_YUV420M),
|
||||
},
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
@@ -460,8 +403,8 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
.name = "YVU420",
|
||||
.format = formats::YVU420,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_YVU420),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_YVU420M),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_YVU420),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_YVU420M),
|
||||
},
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
@@ -473,8 +416,8 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
.name = "YUV422",
|
||||
.format = formats::YUV422,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_YUV422P),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_YUV422M),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_YUV422P),
|
||||
V4L2PixelFormat(V4L2_PIX_FMT_YUV422M),
|
||||
},
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
@@ -485,10 +428,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::YVU422, {
|
||||
.name = "YVU422",
|
||||
.format = formats::YVU422,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_YVU422M),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_YVU422M), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -498,10 +438,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::YUV444, {
|
||||
.name = "YUV444",
|
||||
.format = formats::YUV444,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_YUV444M),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_YUV444M), },
|
||||
.bitsPerPixel = 24,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -511,10 +448,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::YVU444, {
|
||||
.name = "YVU444",
|
||||
.format = formats::YVU444,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(),
|
||||
.multi = V4L2PixelFormat(V4L2_PIX_FMT_YVU444M),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_YVU444M), },
|
||||
.bitsPerPixel = 24,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -526,10 +460,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::R8, {
|
||||
.name = "R8",
|
||||
.format = formats::R8,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_GREY),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_GREY), },
|
||||
.bitsPerPixel = 8,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -539,10 +470,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::R10, {
|
||||
.name = "R10",
|
||||
.format = formats::R10,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_Y10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_Y10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -552,10 +480,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::R12, {
|
||||
.name = "R12",
|
||||
.format = formats::R12,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_Y12),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_Y12), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
@@ -565,10 +490,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::R10_CSI2P, {
|
||||
.name = "R10_CSI2P",
|
||||
.format = formats::R10,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_Y10P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_Y10P), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = true,
|
||||
@@ -580,10 +502,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SBGGR8, {
|
||||
.name = "SBGGR8",
|
||||
.format = formats::SBGGR8,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR8),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR8), },
|
||||
.bitsPerPixel = 8,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -593,10 +512,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGBRG8, {
|
||||
.name = "SGBRG8",
|
||||
.format = formats::SGBRG8,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG8),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG8), },
|
||||
.bitsPerPixel = 8,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -606,10 +522,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGRBG8, {
|
||||
.name = "SGRBG8",
|
||||
.format = formats::SGRBG8,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG8),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG8), },
|
||||
.bitsPerPixel = 8,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -619,10 +532,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SRGGB8, {
|
||||
.name = "SRGGB8",
|
||||
.format = formats::SRGGB8,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB8),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB8), },
|
||||
.bitsPerPixel = 8,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -632,10 +542,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SBGGR10, {
|
||||
.name = "SBGGR10",
|
||||
.format = formats::SBGGR10,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -645,10 +552,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGBRG10, {
|
||||
.name = "SGBRG10",
|
||||
.format = formats::SGBRG10,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -658,10 +562,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGRBG10, {
|
||||
.name = "SGRBG10",
|
||||
.format = formats::SGRBG10,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -671,10 +572,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SRGGB10, {
|
||||
.name = "SRGGB10",
|
||||
.format = formats::SRGGB10,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -684,10 +582,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SBGGR10_CSI2P, {
|
||||
.name = "SBGGR10_CSI2P",
|
||||
.format = formats::SBGGR10_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10P), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -697,10 +592,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGBRG10_CSI2P, {
|
||||
.name = "SGBRG10_CSI2P",
|
||||
.format = formats::SGBRG10_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10P), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -710,10 +602,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGRBG10_CSI2P, {
|
||||
.name = "SGRBG10_CSI2P",
|
||||
.format = formats::SGRBG10_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10P), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -723,10 +612,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SRGGB10_CSI2P, {
|
||||
.name = "SRGGB10_CSI2P",
|
||||
.format = formats::SRGGB10_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10P), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -736,10 +622,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SBGGR12, {
|
||||
.name = "SBGGR12",
|
||||
.format = formats::SBGGR12,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -749,10 +632,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGBRG12, {
|
||||
.name = "SGBRG12",
|
||||
.format = formats::SGBRG12,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -762,10 +642,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGRBG12, {
|
||||
.name = "SGRBG12",
|
||||
.format = formats::SGRBG12,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -775,10 +652,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SRGGB12, {
|
||||
.name = "SRGGB12",
|
||||
.format = formats::SRGGB12,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -788,10 +662,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SBGGR12_CSI2P, {
|
||||
.name = "SBGGR12_CSI2P",
|
||||
.format = formats::SBGGR12_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12P), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -801,10 +672,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGBRG12_CSI2P, {
|
||||
.name = "SGBRG12_CSI2P",
|
||||
.format = formats::SGBRG12_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12P), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -814,10 +682,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGRBG12_CSI2P, {
|
||||
.name = "SGRBG12_CSI2P",
|
||||
.format = formats::SGRBG12_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12P), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -827,10 +692,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SRGGB12_CSI2P, {
|
||||
.name = "SRGGB12_CSI2P",
|
||||
.format = formats::SRGGB12_CSI2P,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P), },
|
||||
.bitsPerPixel = 12,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -840,10 +702,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SBGGR16, {
|
||||
.name = "SBGGR16",
|
||||
.format = formats::SBGGR16,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -853,10 +712,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGBRG16, {
|
||||
.name = "SGBRG16",
|
||||
.format = formats::SGBRG16,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG16),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG16), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -866,10 +722,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGRBG16, {
|
||||
.name = "SGRBG16",
|
||||
.format = formats::SGRBG16,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG16),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG16), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -879,10 +732,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SRGGB16, {
|
||||
.name = "SRGGB16",
|
||||
.format = formats::SRGGB16,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB16),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB16), },
|
||||
.bitsPerPixel = 16,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
@@ -892,10 +742,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SBGGR10_IPU3, {
|
||||
.name = "SBGGR10_IPU3",
|
||||
.format = formats::SBGGR10_IPU3,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SBGGR10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SBGGR10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -906,10 +753,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGBRG10_IPU3, {
|
||||
.name = "SGBRG10_IPU3",
|
||||
.format = formats::SGBRG10_IPU3,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGBRG10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGBRG10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -919,10 +763,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SGRBG10_IPU3, {
|
||||
.name = "SGRBG10_IPU3",
|
||||
.format = formats::SGRBG10_IPU3,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGRBG10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGRBG10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -932,10 +773,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::SRGGB10_IPU3, {
|
||||
.name = "SRGGB10_IPU3",
|
||||
.format = formats::SRGGB10_IPU3,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SRGGB10),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SRGGB10), },
|
||||
.bitsPerPixel = 10,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
@@ -947,10 +785,7 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
||||
{ formats::MJPEG, {
|
||||
.name = "MJPEG",
|
||||
.format = formats::MJPEG,
|
||||
.v4l2Formats = {
|
||||
.single = V4L2PixelFormat(V4L2_PIX_FMT_MJPEG),
|
||||
.multi = V4L2PixelFormat(),
|
||||
},
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_MJPEG), },
|
||||
.bitsPerPixel = 0,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingYUV,
|
||||
.packed = false,
|
||||
|
||||
Reference in New Issue
Block a user