libcamera: formats: Add 14-bits Bayer RAW formats
Add formats definition and mappings for 14-bits Bayer RAW formats. Add definitions for non-packed and CSI-2 packed variants. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
This commit is contained in:
parent
f99b0f7f8f
commit
e0a51061bc
5 changed files with 134 additions and 0 deletions
|
@ -140,6 +140,22 @@ const std::map<BayerFormat, Formats, BayerFormatComparator> bayerToFormat{
|
|||
{ formats::SGRBG12_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12P) } },
|
||||
{ { BayerFormat::RGGB, 12, BayerFormat::Packing::CSI2 },
|
||||
{ formats::SRGGB12_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P) } },
|
||||
{ { BayerFormat::BGGR, 14, BayerFormat::Packing::None },
|
||||
{ formats::SBGGR14, V4L2PixelFormat(V4L2_PIX_FMT_SBGGR14) } },
|
||||
{ { BayerFormat::GBRG, 14, BayerFormat::Packing::None },
|
||||
{ formats::SGBRG14, V4L2PixelFormat(V4L2_PIX_FMT_SGBRG14) } },
|
||||
{ { BayerFormat::GRBG, 14, BayerFormat::Packing::None },
|
||||
{ formats::SGRBG14, V4L2PixelFormat(V4L2_PIX_FMT_SGRBG14) } },
|
||||
{ { BayerFormat::RGGB, 14, BayerFormat::Packing::None },
|
||||
{ formats::SRGGB14, V4L2PixelFormat(V4L2_PIX_FMT_SRGGB14) } },
|
||||
{ { BayerFormat::BGGR, 14, BayerFormat::Packing::CSI2 },
|
||||
{ formats::SBGGR14_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SBGGR14P) } },
|
||||
{ { BayerFormat::GBRG, 14, BayerFormat::Packing::CSI2 },
|
||||
{ formats::SGBRG14_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SGBRG14P) } },
|
||||
{ { BayerFormat::GRBG, 14, BayerFormat::Packing::CSI2 },
|
||||
{ formats::SGRBG14_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SGRBG14P) } },
|
||||
{ { BayerFormat::RGGB, 14, BayerFormat::Packing::CSI2 },
|
||||
{ formats::SRGGB14_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SRGGB14P) } },
|
||||
{ { BayerFormat::BGGR, 16, BayerFormat::Packing::None },
|
||||
{ formats::SBGGR16, V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16) } },
|
||||
{ { BayerFormat::GBRG, 16, BayerFormat::Packing::None },
|
||||
|
|
0
src/libcamera/formats.c
Normal file
0
src/libcamera/formats.c
Normal file
|
@ -719,6 +719,86 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{
|
|||
.pixelsPerGroup = 2,
|
||||
.planes = {{ { 3, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SBGGR14, {
|
||||
.name = "SBGGR14",
|
||||
.format = formats::SBGGR14,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR14), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
.pixelsPerGroup = 2,
|
||||
.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SGBRG14, {
|
||||
.name = "SGBRG14",
|
||||
.format = formats::SGBRG14,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG14), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
.pixelsPerGroup = 2,
|
||||
.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SGRBG14, {
|
||||
.name = "SGRBG14",
|
||||
.format = formats::SGRBG14,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG14), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
.pixelsPerGroup = 2,
|
||||
.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SRGGB14, {
|
||||
.name = "SRGGB14",
|
||||
.format = formats::SRGGB14,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB14), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = false,
|
||||
.pixelsPerGroup = 2,
|
||||
.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SBGGR14_CSI2P, {
|
||||
.name = "SBGGR14_CSI2P",
|
||||
.format = formats::SBGGR14_CSI2P,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR14P), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
.pixelsPerGroup = 4,
|
||||
.planes = {{ { 7, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SGBRG14_CSI2P, {
|
||||
.name = "SGBRG14_CSI2P",
|
||||
.format = formats::SGBRG14_CSI2P,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGBRG14P), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
.pixelsPerGroup = 4,
|
||||
.planes = {{ { 7, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SGRBG14_CSI2P, {
|
||||
.name = "SGRBG14_CSI2P",
|
||||
.format = formats::SGRBG14_CSI2P,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SGRBG14P), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
.pixelsPerGroup = 4,
|
||||
.planes = {{ { 7, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SRGGB14_CSI2P, {
|
||||
.name = "SRGGB14_CSI2P",
|
||||
.format = formats::SRGGB14_CSI2P,
|
||||
.v4l2Formats = { V4L2PixelFormat(V4L2_PIX_FMT_SRGGB14P), },
|
||||
.bitsPerPixel = 14,
|
||||
.colourEncoding = PixelFormatInfo::ColourEncodingRAW,
|
||||
.packed = true,
|
||||
.pixelsPerGroup = 4,
|
||||
.planes = {{ { 7, 1 }, { 0, 0 }, { 0, 0 } }},
|
||||
} },
|
||||
{ formats::SBGGR16, {
|
||||
.name = "SBGGR16",
|
||||
.format = formats::SBGGR16,
|
||||
|
|
|
@ -110,6 +110,15 @@ formats:
|
|||
- SBGGR12:
|
||||
fourcc: DRM_FORMAT_SBGGR12
|
||||
|
||||
- SRGGB14:
|
||||
fourcc: DRM_FORMAT_SRGGB14
|
||||
- SGRBG14:
|
||||
fourcc: DRM_FORMAT_SGRBG14
|
||||
- SGBRG14:
|
||||
fourcc: DRM_FORMAT_SGBRG14
|
||||
- SBGGR14:
|
||||
fourcc: DRM_FORMAT_SBGGR14
|
||||
|
||||
- SRGGB16:
|
||||
fourcc: DRM_FORMAT_SRGGB16
|
||||
- SGRBG16:
|
||||
|
@ -149,6 +158,19 @@ formats:
|
|||
fourcc: DRM_FORMAT_SBGGR12
|
||||
mod: MIPI_FORMAT_MOD_CSI2_PACKED
|
||||
|
||||
- SRGGB14_CSI2P:
|
||||
fourcc: DRM_FORMAT_SRGGB14
|
||||
mod: MIPI_FORMAT_MOD_CSI2_PACKED
|
||||
- SGRBG14_CSI2P:
|
||||
fourcc: DRM_FORMAT_SGRBG14
|
||||
mod: MIPI_FORMAT_MOD_CSI2_PACKED
|
||||
- SGBRG14_CSI2P:
|
||||
fourcc: DRM_FORMAT_SGBRG14
|
||||
mod: MIPI_FORMAT_MOD_CSI2_PACKED
|
||||
- SBGGR14_CSI2P:
|
||||
fourcc: DRM_FORMAT_SBGGR14
|
||||
mod: MIPI_FORMAT_MOD_CSI2_PACKED
|
||||
|
||||
- SRGGB10_IPU3:
|
||||
fourcc: DRM_FORMAT_SRGGB10
|
||||
mod: IPU3_FORMAT_MOD_PACKED
|
||||
|
|
|
@ -177,6 +177,22 @@ const std::map<V4L2PixelFormat, V4L2PixelFormat::Info> vpf2pf{
|
|||
{ formats::SGRBG12_CSI2P, "12-bit Bayer GRGR/BGBG Packed" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P),
|
||||
{ formats::SRGGB12_CSI2P, "12-bit Bayer RGRG/GBGB Packed" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR14),
|
||||
{ formats::SBGGR14, "14-bit Bayer BGBG/GRGR" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG14),
|
||||
{ formats::SGBRG14, "14-bit Bayer GBGB/RGRG" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG14),
|
||||
{ formats::SGRBG14, "14-bit Bayer GRGR/BGBG" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB14),
|
||||
{ formats::SRGGB14, "14-bit Bayer RGRG/GBGB" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR14P),
|
||||
{ formats::SBGGR14_CSI2P, "14-bit Bayer BGBG/GRGR Packed" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG14P),
|
||||
{ formats::SGBRG14_CSI2P, "14-bit Bayer GBGB/RGRG Packed" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG14P),
|
||||
{ formats::SGRBG14_CSI2P, "14-bit Bayer GRGR/BGBG Packed" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB14P),
|
||||
{ formats::SRGGB14_CSI2P, "14-bit Bayer RGRG/GBGB Packed" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16),
|
||||
{ formats::SBGGR16, "16-bit Bayer BGBG/GRGR" } },
|
||||
{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG16),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue