staging: vc04_services: isp: Add monochrome image formats
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Wed, 6 May 2020 17:11:14 +0000 (18:11 +0100)
committerPhil Elwell <8911409+pelwell@users.noreply.github.com>
Thu, 2 Jul 2020 14:35:32 +0000 (15:35 +0100)
Adds support for monochrome image formats in the various
MIPI packings.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/staging/vc04_services/bcm2835-isp/bcm2835_isp_fmts.h
drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h

index f590c20..fc0f95a 100644 (file)
@@ -328,7 +328,57 @@ static const struct bcm2835_isp_fmt supported_formats[] = {
                .colorspace         = V4L2_COLORSPACE_RAW,
                .step_size          = 2,
        }, {
-               /* ISP statistics format */
+               /* Monochrome MIPI formats */
+               /* 8 bit */
+               .fourcc             = V4L2_PIX_FMT_GREY,
+               .depth              = 8,
+               .bytesperline_align = 32,
+               .flags              = 0,
+               .mmal_fmt           = MMAL_ENCODING_GREY,
+               .size_multiplier_x2 = 2,
+               .colorspace         = V4L2_COLORSPACE_RAW,
+               .step_size          = 2,
+       }, {
+               /* 10 bit */
+               .fourcc             = V4L2_PIX_FMT_Y10P,
+               .depth              = 10,
+               .bytesperline_align = 32,
+               .flags              = 0,
+               .mmal_fmt           = MMAL_ENCODING_Y10P,
+               .size_multiplier_x2 = 2,
+               .colorspace         = V4L2_COLORSPACE_RAW,
+               .step_size          = 2,
+       }, {
+               /* 12 bit */
+               .fourcc             = V4L2_PIX_FMT_Y12P,
+               .depth              = 12,
+               .bytesperline_align = 32,
+               .flags              = 0,
+               .mmal_fmt           = MMAL_ENCODING_Y12P,
+               .size_multiplier_x2 = 2,
+               .colorspace         = V4L2_COLORSPACE_RAW,
+               .step_size          = 2,
+       }, {
+               /* 14 bit */
+               .fourcc             = V4L2_PIX_FMT_Y14P,
+               .depth              = 14,
+               .bytesperline_align = 32,
+               .flags              = 0,
+               .mmal_fmt           = MMAL_ENCODING_Y14P,
+               .size_multiplier_x2 = 2,
+               .colorspace         = V4L2_COLORSPACE_RAW,
+               .step_size          = 2,
+       }, {
+               /* 16 bit */
+               .fourcc             = V4L2_PIX_FMT_Y16,
+               .depth              = 16,
+               .bytesperline_align = 32,
+               .flags              = 0,
+               .mmal_fmt           = MMAL_ENCODING_Y16,
+               .size_multiplier_x2 = 2,
+               .colorspace         = V4L2_COLORSPACE_RAW,
+               .step_size          = 2,
+       }, {
                .fourcc             = V4L2_META_FMT_BCM2835_ISP_STATS,
                .mmal_fmt           = MMAL_ENCODING_BRCM_STATS,
                /* The rest are not valid fields for stats. */
index 4288d50..8eb6334 100644 (file)
 #define MMAL_ENCODING_BAYER_SGRBG16    MMAL_FOURCC('G', 'R', '1', '6')
 #define MMAL_ENCODING_BAYER_SRGGB16    MMAL_FOURCC('R', 'G', '1', '6')
 
+/* MIPI packed monochrome images */
+#define MMAL_ENCODING_GREY    MMAL_FOURCC('G', 'R', 'E', 'Y')
+#define MMAL_ENCODING_Y10P    MMAL_FOURCC('Y', '1', '0', 'P')
+#define MMAL_ENCODING_Y12P    MMAL_FOURCC('Y', '1', '2', 'P')
+#define MMAL_ENCODING_Y14P    MMAL_FOURCC('Y', '1', '4', 'P')
+#define MMAL_ENCODING_Y16     MMAL_FOURCC('Y', '1', '6', ' ')
+
 /** An EGL image handle
  */
 #define MMAL_ENCODING_EGL_IMAGE        MMAL_FOURCC('E', 'G', 'L', 'I')