Kaynağa Gözat

Fix wrong bits-per-pixel for some bayer formats, add more bayer formats

Kristian Vos 11 ay önce
ebeveyn
işleme
491c5d3756
1 değiştirilmiş dosya ile 37 ekleme ve 5 silme
  1. 37 5
      src/mode.c

+ 37 - 5
src/mode.c

@@ -86,7 +86,7 @@ static struct libmegapixels_modename mode_lut[] = {
 		.v4l_pixel_format = V4L2_PIX_FMT_SBGGR10,
 		.media_bus_format = MEDIA_BUS_FMT_SBGGR10_1X10,
 		.bpc = 10,
-		.bpp = 10,
+		.bpp = 16,
 		.cfa = LIBMEGAPIXELS_CFA_BGGR,
 	},
 	{
@@ -94,7 +94,7 @@ static struct libmegapixels_modename mode_lut[] = {
 		.v4l_pixel_format = V4L2_PIX_FMT_SGBRG10,
 		.media_bus_format = MEDIA_BUS_FMT_SGBRG10_1X10,
 		.bpc = 10,
-		.bpp = 10,
+		.bpp = 16,
 		.cfa = LIBMEGAPIXELS_CFA_GBRG,
 	},
 	{
@@ -102,15 +102,47 @@ static struct libmegapixels_modename mode_lut[] = {
 		.v4l_pixel_format = V4L2_PIX_FMT_SGRBG10,
 		.media_bus_format = MEDIA_BUS_FMT_SGRBG10_1X10,
 		.bpc = 10,
-		.bpp = 10,
+		.bpp = 16,
 		.cfa = LIBMEGAPIXELS_CFA_GRBG,
 	},
 	{
 		.name = "RGGB10",
 		.v4l_pixel_format = V4L2_PIX_FMT_SRGGB10,
 		.media_bus_format = MEDIA_BUS_FMT_SRGGB10_1X10,
-		.bpc = 10,
-		.bpp = 10,
+		.bpc = 10, // Bits per color
+		.bpp = 16, // Bit per pixel
+		.cfa = LIBMEGAPIXELS_CFA_RGGB,
+	},
+	{
+		.name = "BGGR12",
+		.v4l_pixel_format = V4L2_PIX_FMT_SBGGR12,
+		.media_bus_format = MEDIA_BUS_FMT_SBGGR12_1X12,
+		.bpc = 12,
+		.bpp = 16,
+		.cfa = LIBMEGAPIXELS_CFA_BGGR,
+	},
+	{
+		.name = "GBRG12",
+		.v4l_pixel_format = V4L2_PIX_FMT_SGBRG12,
+		.media_bus_format = MEDIA_BUS_FMT_SGBRG12_1X12,
+		.bpc = 12,
+		.bpp = 16,
+		.cfa = LIBMEGAPIXELS_CFA_GBRG,
+	},
+	{
+		.name = "GRBG12",
+		.v4l_pixel_format = V4L2_PIX_FMT_SGRBG12,
+		.media_bus_format = MEDIA_BUS_FMT_SGRBG12_1X12,
+		.bpc = 12,
+		.bpp = 16,
+		.cfa = LIBMEGAPIXELS_CFA_GRBG,
+	},
+	{
+		.name = "RGGB12",
+		.v4l_pixel_format = V4L2_PIX_FMT_SRGGB12,
+		.media_bus_format = MEDIA_BUS_FMT_SRGGB12_1X12,
+		.bpc = 12,
+		.bpp = 16,
 		.cfa = LIBMEGAPIXELS_CFA_RGGB,
 	},
 	{