linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
To: jeanmichel.hautbois@ideasonboard.com
Cc: dave.stevenson@raspberrypi.com, devicetree@vger.kernel.org,
	kernel-list@raspberrypi.com, laurent.pinchart@ideasonboard.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	linux-rpi-kernel@lists.infradead.org, lukasz@jany.st,
	mchehab@kernel.org, naush@raspberrypi.com, robh@kernel.org,
	tomi.valkeinen@ideasonboard.com, nsaenz@kernel.org,
	bcm-kernel-feedback-list@broadcom.com
Subject: [RFC PATCH v4 01/12] media: v4l: Add V4L2-PIX-FMT-Y12P format
Date: Thu,  3 Feb 2022 18:49:58 +0100	[thread overview]
Message-ID: <20220203175009.558868-2-jeanmichel.hautbois@ideasonboard.com> (raw)
In-Reply-To: <20220203175009.558868-1-jeanmichel.hautbois@ideasonboard.com>

This is a packed grey-scale image format with a depth of 12 bits per
pixel. Two consecutive pixels are packed into 3 bytes. The first 2 bytes
contain the 8 high order bits of the pixels, and the 3rd byte contains
the 4 least significants bits of each pixel, in the same order.

Add the entry in userspace API, and document it.

Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 .../userspace-api/media/v4l/pixfmt-yuv-luma.rst       | 11 +++++++++++
 drivers/media/v4l2-core/v4l2-ioctl.c                  |  1 +
 include/uapi/linux/videodev2.h                        |  1 +
 3 files changed, 13 insertions(+)

diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
index 91942c4f0967..2d9d588eedcd 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
@@ -92,6 +92,17 @@ are often referred to as greyscale formats.
       - ...
       - ...
 
+    * .. _V4L2-PIX-FMT-Y12P:
+
+      - ``V4L2_PIX_FMT_Y12P``
+      - 'Y12P'
+
+      - Y'\ :sub:`0`\ [11:4]
+      - Y'\ :sub:`1`\ [11:4]
+      - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0]
+      - ...
+      - ...
+
     * .. _V4L2-PIX-FMT-Y14:
 
       - ``V4L2_PIX_FMT_Y14``
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index cca67d43a62f..64a72a6b2132 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1264,6 +1264,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
 	case V4L2_PIX_FMT_Y16_BE:	descr = "16-bit Greyscale BE"; break;
 	case V4L2_PIX_FMT_Y10BPACK:	descr = "10-bit Greyscale (Packed)"; break;
 	case V4L2_PIX_FMT_Y10P:		descr = "10-bit Greyscale (MIPI Packed)"; break;
+	case V4L2_PIX_FMT_Y12P:		descr = "12-bit Greyscale (MIPI Packed)"; break;
 	case V4L2_PIX_FMT_Y8I:		descr = "Interleaved 8-bit Greyscale"; break;
 	case V4L2_PIX_FMT_Y12I:		descr = "Interleaved 12-bit Greyscale"; break;
 	case V4L2_PIX_FMT_Z16:		descr = "16-bit Depth"; break;
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index c9ee5de1bce6..bef488205fea 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -569,6 +569,7 @@ struct v4l2_pix_format {
 /* Grey bit-packed formats */
 #define V4L2_PIX_FMT_Y10BPACK    v4l2_fourcc('Y', '1', '0', 'B') /* 10  Greyscale bit-packed */
 #define V4L2_PIX_FMT_Y10P    v4l2_fourcc('Y', '1', '0', 'P') /* 10  Greyscale, MIPI RAW10 packed */
+#define V4L2_PIX_FMT_Y12P    v4l2_fourcc('Y', '1', '2', 'P') /* 12  Greyscale, MIPI RAW12 packed */
 
 /* Palette formats */
 #define V4L2_PIX_FMT_PAL8    v4l2_fourcc('P', 'A', 'L', '8') /*  8  8-bit palette */
-- 
2.32.0


  reply	other threads:[~2022-02-03 17:50 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-03 17:49 [RFC PATCH v4 00/12] Add support for BCM2835 camera interface (unicam) Jean-Michel Hautbois
2022-02-03 17:49 ` Jean-Michel Hautbois [this message]
2022-02-03 17:49 ` [RFC PATCH v4 02/12] media: v4l: Add V4L2-PIX-FMT-Y14P format Jean-Michel Hautbois
2022-02-03 17:50 ` [RFC PATCH v4 03/12] dt-bindings: media: Add bindings for bcm2835-unicam Jean-Michel Hautbois
2022-02-03 20:01   ` Stefan Wahren
2022-02-04  2:42   ` Laurent Pinchart
2022-02-04  8:50   ` (EXT) " Alexander Stein
2022-02-05  2:22     ` Laurent Pinchart
2022-02-07  6:30       ` (EXT) " Alexander Stein
2022-02-08  1:36         ` Laurent Pinchart
2022-02-08 11:35           ` Dave Stevenson
2022-02-03 17:50 ` [RFC PATCH v4 04/12] media: MAINTAINERS: add bcm2835 unicam driver Jean-Michel Hautbois
2022-02-04  2:40   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 05/12] media: bcm2835-unicam: Add support for CCP2/CSI2 camera interface Jean-Michel Hautbois
2022-02-03 20:42   ` Stefan Wahren
2022-02-05  2:20   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 06/12] ARM: dts: bcm2711: Add unicam CSI nodes Jean-Michel Hautbois
2022-02-03 20:06   ` Stefan Wahren
2022-02-04  2:45   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 07/12] media: imx219: Rename mbus codes array Jean-Michel Hautbois
2022-02-04  2:51   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 08/12] media: imx219: Switch from open to init_cfg Jean-Michel Hautbois
2022-02-04  2:54   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 09/12] media: imx219: Introduce the set_routing operation Jean-Michel Hautbois
2022-02-03 17:50 ` [RFC PATCH v4 10/12] media: imx219: use a local v4l2_subdev to simplify reading Jean-Michel Hautbois
2022-02-04  2:56   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 11/12] media: imx219: Add support for the V4L2 subdev active state Jean-Michel Hautbois
2022-02-03 17:50 ` [RFC PATCH v4 12/12] media: bcm283x: Include the imx219 node Jean-Michel Hautbois
2022-02-04  2:49   ` Laurent Pinchart
2022-02-03 19:55 ` [RFC PATCH v4 00/12] Add support for BCM2835 camera interface (unicam) Stefan Wahren
2022-02-04  0:38   ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220203175009.558868-2-jeanmichel.hautbois@ideasonboard.com \
    --to=jeanmichel.hautbois@ideasonboard.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel-list@raspberrypi.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=lukasz@jany.st \
    --cc=mchehab@kernel.org \
    --cc=naush@raspberrypi.com \
    --cc=nsaenz@kernel.org \
    --cc=robh@kernel.org \
    --cc=tomi.valkeinen@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).