All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add 12bit and 14bit luma-only formats
@ 2022-01-12 16:10 Jean-Michel Hautbois
  2022-01-12 16:10 ` [PATCH 1/3] media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format Jean-Michel Hautbois
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Jean-Michel Hautbois @ 2022-01-12 16:10 UTC (permalink / raw)
  To: linux-media, linux-kernel
  Cc: laurent.pinchart, mchehab, dave.stevenson, Jean-Michel Hautbois

Hello,

While working on adding the V4L2-PIX-FMT-Y12P and V4L2-PIX-FMT-Y14P
formats, I noticed an issue in the way V4L2-PIX-FMT-Y10P is described.
This series aims to solve it before adding Y12P and Y14P.

Those two formats are needed for the next-to-come bcm2835 unicam driver.

Jean-Michel Hautbois (3):
  media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format
  media: v4l: Add V4L2-PIX-FMT-Y12P format
  media: v4l: Add V4L2-PIX-FMT-Y14P format

 .../media/v4l/pixfmt-yuv-luma.rst             | 48 ++++++++++++++++++-
 drivers/media/v4l2-core/v4l2-ioctl.c          |  2 +
 include/uapi/linux/videodev2.h                |  2 +
 3 files changed, 50 insertions(+), 2 deletions(-)

-- 
2.32.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/3] media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format
  2022-01-12 16:10 [PATCH 0/3] Add 12bit and 14bit luma-only formats Jean-Michel Hautbois
@ 2022-01-12 16:10 ` Jean-Michel Hautbois
  2022-01-12 16:16   ` Laurent Pinchart
  2022-01-12 16:10 ` [PATCH 2/3] media: v4l: Add V4L2-PIX-FMT-Y12P format Jean-Michel Hautbois
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Jean-Michel Hautbois @ 2022-01-12 16:10 UTC (permalink / raw)
  To: linux-media, linux-kernel
  Cc: laurent.pinchart, mchehab, dave.stevenson, Jean-Michel Hautbois

This packed grey-scale image format has a depth of 10 bits per pixel.
Every four consecutive pixels are packed into 5 bytes. Each of the first
4 bytes contain the 8 high order bits of the pixels, and the 5th byte
contains the 2 least significants bits of each pixel, in the same order.

The first two bytes are not corresponding to this description, fix it.

Fixes: af4f45057695 ("media: doc: pixfmt-yuv: Move all luma-only YUV formats to common file")
Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
---
 Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
index 91942c4f0967..8ebd58c3588f 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
@@ -75,8 +75,8 @@ are often referred to as greyscale formats.
       - ``V4L2_PIX_FMT_Y10P``
       - 'Y10P'
 
-      - Y'\ :sub:`0`\ [7:0]
-      - Y'\ :sub:`1`\ [9:8]
+      - Y'\ :sub:`0`\ [9:2]
+      - Y'\ :sub:`1`\ [9:2]
       - Y'\ :sub:`2`\ [9:2]
       - Y'\ :sub:`3`\ [9:2]
       - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0]
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] media: v4l: Add V4L2-PIX-FMT-Y12P format
  2022-01-12 16:10 [PATCH 0/3] Add 12bit and 14bit luma-only formats Jean-Michel Hautbois
  2022-01-12 16:10 ` [PATCH 1/3] media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format Jean-Michel Hautbois
@ 2022-01-12 16:10 ` Jean-Michel Hautbois
  2022-01-12 16:18   ` Laurent Pinchart
  2022-01-12 16:10 ` [PATCH 3/3] media: v4l: Add V4L2-PIX-FMT-Y14P format Jean-Michel Hautbois
  2022-01-13  9:15 ` [PATCH 0/3] Add 12bit and 14bit luma-only formats Hans Verkuil
  3 siblings, 1 reply; 9+ messages in thread
From: Jean-Michel Hautbois @ 2022-01-12 16:10 UTC (permalink / raw)
  To: linux-media, linux-kernel
  Cc: laurent.pinchart, mchehab, dave.stevenson, Jean-Michel Hautbois

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>
---
 .../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 8ebd58c3588f..d37ce6027095 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 9ac557b8e146..e90979af8efb 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1263,6 +1263,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 df8b9c486ba1..39ab8c216fe8 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


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] media: v4l: Add V4L2-PIX-FMT-Y14P format
  2022-01-12 16:10 [PATCH 0/3] Add 12bit and 14bit luma-only formats Jean-Michel Hautbois
  2022-01-12 16:10 ` [PATCH 1/3] media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format Jean-Michel Hautbois
  2022-01-12 16:10 ` [PATCH 2/3] media: v4l: Add V4L2-PIX-FMT-Y12P format Jean-Michel Hautbois
@ 2022-01-12 16:10 ` Jean-Michel Hautbois
  2022-01-12 16:21   ` Laurent Pinchart
  2022-01-13  9:15 ` [PATCH 0/3] Add 12bit and 14bit luma-only formats Hans Verkuil
  3 siblings, 1 reply; 9+ messages in thread
From: Jean-Michel Hautbois @ 2022-01-12 16:10 UTC (permalink / raw)
  To: linux-media, linux-kernel
  Cc: laurent.pinchart, mchehab, dave.stevenson, Jean-Michel Hautbois

This is a packed grey-scale image format with a depth of 14 bits per
pixel. Every four consecutive samples are packed into seven bytes. Each
of the first four bytes contain the eight high order bits of the pixels,
and the three following bytes contains the six least significants bits
of each pixel, in the same order.

As the other formats only needed 5 bytes before, append two bytes in the
documentation array.

Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
---
 .../media/v4l/pixfmt-yuv-luma.rst             | 33 +++++++++++++++++++
 drivers/media/v4l2-core/v4l2-ioctl.c          |  1 +
 include/uapi/linux/videodev2.h                |  1 +
 3 files changed, 35 insertions(+)

diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
index d37ce6027095..1f645fde6d5c 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
@@ -36,6 +36,8 @@ are often referred to as greyscale formats.
       - Byte 2
       - Byte 3
       - Byte 4
+      - Byte 5
+      - Byte 6
 
     * .. _V4L2-PIX-FMT-GREY:
 
@@ -47,6 +49,8 @@ are often referred to as greyscale formats.
       - ...
       - ...
       - ...
+      - ...
+      - ...
 
     * .. _V4L2-PIX-FMT-Y10:
 
@@ -58,6 +62,8 @@ are often referred to as greyscale formats.
       - ...
       - ...
       - ...
+      - ...
+      - ...
 
     * .. _V4L2-PIX-FMT-Y10BPACK:
 
@@ -69,6 +75,8 @@ are often referred to as greyscale formats.
       - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6]
       - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8]
       - Y'\ :sub:`3`\ [7:0]
+      - ...
+      - ...
 
     * .. _V4L2-PIX-FMT-Y10P:
 
@@ -80,6 +88,8 @@ are often referred to as greyscale formats.
       - Y'\ :sub:`2`\ [9:2]
       - Y'\ :sub:`3`\ [9:2]
       - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0]
+      - ...
+      - ...
 
     * .. _V4L2-PIX-FMT-Y12:
 
@@ -91,6 +101,8 @@ are often referred to as greyscale formats.
       - ...
       - ...
       - ...
+      - ...
+      - ...
 
     * .. _V4L2-PIX-FMT-Y12P:
 
@@ -102,6 +114,8 @@ are often referred to as greyscale formats.
       - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0]
       - ...
       - ...
+      - ...
+      - ...
 
     * .. _V4L2-PIX-FMT-Y14:
 
@@ -113,6 +127,21 @@ are often referred to as greyscale formats.
       - ...
       - ...
       - ...
+      - ...
+      - ...
+
+    * .. _V4L2-PIX-FMT-Y14P:
+
+      - ``V4L2_PIX_FMT_Y14P``
+      - 'Y14P'
+
+      - Y'\ :sub:`0`\ [13:6]
+      - Y'\ :sub:`1`\ [13:6]
+      - Y'\ :sub:`2`\ [13:6]
+      - Y'\ :sub:`3`\ [13:6]
+      - Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [5:0]
+      - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [5:2]
+      - Y'\ :sub:`3`\ [5:0] Y'\ :sub:`2`\ [1:0]
 
     * .. _V4L2-PIX-FMT-Y16:
 
@@ -124,6 +153,8 @@ are often referred to as greyscale formats.
       - ...
       - ...
       - ...
+      - ...
+      - ...
 
     * .. _V4L2-PIX-FMT-Y16-BE:
 
@@ -135,6 +166,8 @@ are often referred to as greyscale formats.
       - ...
       - ...
       - ...
+      - ...
+      - ...
 
 .. raw:: latex
 
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index e90979af8efb..4e33b86c6d27 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_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_Y14P:		descr = "14-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 39ab8c216fe8..581537ce12a3 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -570,6 +570,7 @@ struct v4l2_pix_format {
 #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 */
+#define V4L2_PIX_FMT_Y14P    v4l2_fourcc('Y', '1', '4', 'P') /* 14  Greyscale, MIPI RAW12 packed */
 
 /* Palette formats */
 #define V4L2_PIX_FMT_PAL8    v4l2_fourcc('P', 'A', 'L', '8') /*  8  8-bit palette */
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/3] media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format
  2022-01-12 16:10 ` [PATCH 1/3] media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format Jean-Michel Hautbois
@ 2022-01-12 16:16   ` Laurent Pinchart
  0 siblings, 0 replies; 9+ messages in thread
From: Laurent Pinchart @ 2022-01-12 16:16 UTC (permalink / raw)
  To: Jean-Michel Hautbois; +Cc: linux-media, linux-kernel, mchehab, dave.stevenson

Hi Jean-Michel,

Thank you for the patch.

On Wed, Jan 12, 2022 at 05:10:12PM +0100, Jean-Michel Hautbois wrote:
> This packed grey-scale image format has a depth of 10 bits per pixel.
> Every four consecutive pixels are packed into 5 bytes. Each of the first
> 4 bytes contain the 8 high order bits of the pixels, and the 5th byte
> contains the 2 least significants bits of each pixel, in the same order.
> 
> The first two bytes are not corresponding to this description, fix it.
> 
> Fixes: af4f45057695 ("media: doc: pixfmt-yuv: Move all luma-only YUV formats to common file")
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
> index 91942c4f0967..8ebd58c3588f 100644
> --- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
> +++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
> @@ -75,8 +75,8 @@ are often referred to as greyscale formats.
>        - ``V4L2_PIX_FMT_Y10P``
>        - 'Y10P'
>  
> -      - Y'\ :sub:`0`\ [7:0]
> -      - Y'\ :sub:`1`\ [9:8]
> +      - Y'\ :sub:`0`\ [9:2]
> +      - Y'\ :sub:`1`\ [9:2]
>        - Y'\ :sub:`2`\ [9:2]
>        - Y'\ :sub:`3`\ [9:2]
>        - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0]

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/3] media: v4l: Add V4L2-PIX-FMT-Y12P format
  2022-01-12 16:10 ` [PATCH 2/3] media: v4l: Add V4L2-PIX-FMT-Y12P format Jean-Michel Hautbois
@ 2022-01-12 16:18   ` Laurent Pinchart
  0 siblings, 0 replies; 9+ messages in thread
From: Laurent Pinchart @ 2022-01-12 16:18 UTC (permalink / raw)
  To: Jean-Michel Hautbois; +Cc: linux-media, linux-kernel, mchehab, dave.stevenson

Hi Jean-Michel,

Thank you for the patch.

On Wed, Jan 12, 2022 at 05:10:13PM +0100, Jean-Michel Hautbois wrote:
> 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 8ebd58c3588f..d37ce6027095 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 9ac557b8e146..e90979af8efb 100644
> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> @@ -1263,6 +1263,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 df8b9c486ba1..39ab8c216fe8 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 */

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/3] media: v4l: Add V4L2-PIX-FMT-Y14P format
  2022-01-12 16:10 ` [PATCH 3/3] media: v4l: Add V4L2-PIX-FMT-Y14P format Jean-Michel Hautbois
@ 2022-01-12 16:21   ` Laurent Pinchart
  0 siblings, 0 replies; 9+ messages in thread
From: Laurent Pinchart @ 2022-01-12 16:21 UTC (permalink / raw)
  To: Jean-Michel Hautbois; +Cc: linux-media, linux-kernel, mchehab, dave.stevenson

Hi Jean-Michel

Thank you for the patch.

On Wed, Jan 12, 2022 at 05:10:14PM +0100, Jean-Michel Hautbois wrote:
> This is a packed grey-scale image format with a depth of 14 bits per
> pixel. Every four consecutive samples are packed into seven bytes. Each
> of the first four bytes contain the eight high order bits of the pixels,
> and the three following bytes contains the six least significants bits
> of each pixel, in the same order.
> 
> As the other formats only needed 5 bytes before, append two bytes in the
> documentation array.
> 
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
> ---
>  .../media/v4l/pixfmt-yuv-luma.rst             | 33 +++++++++++++++++++
>  drivers/media/v4l2-core/v4l2-ioctl.c          |  1 +
>  include/uapi/linux/videodev2.h                |  1 +
>  3 files changed, 35 insertions(+)
> 
> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
> index d37ce6027095..1f645fde6d5c 100644
> --- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
> +++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
> @@ -36,6 +36,8 @@ are often referred to as greyscale formats.
>        - Byte 2
>        - Byte 3
>        - Byte 4
> +      - Byte 5
> +      - Byte 6
>  
>      * .. _V4L2-PIX-FMT-GREY:
>  
> @@ -47,6 +49,8 @@ are often referred to as greyscale formats.
>        - ...
>        - ...
>        - ...
> +      - ...
> +      - ...
>  
>      * .. _V4L2-PIX-FMT-Y10:
>  
> @@ -58,6 +62,8 @@ are often referred to as greyscale formats.
>        - ...
>        - ...
>        - ...
> +      - ...
> +      - ...
>  
>      * .. _V4L2-PIX-FMT-Y10BPACK:
>  
> @@ -69,6 +75,8 @@ are often referred to as greyscale formats.
>        - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`2`\ [9:6]
>        - Y'\ :sub:`2`\ [5:0] Y'\ :sub:`3`\ [9:8]
>        - Y'\ :sub:`3`\ [7:0]
> +      - ...
> +      - ...
>  
>      * .. _V4L2-PIX-FMT-Y10P:
>  
> @@ -80,6 +88,8 @@ are often referred to as greyscale formats.
>        - Y'\ :sub:`2`\ [9:2]
>        - Y'\ :sub:`3`\ [9:2]
>        - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [1:0] Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [1:0]
> +      - ...
> +      - ...
>  
>      * .. _V4L2-PIX-FMT-Y12:
>  
> @@ -91,6 +101,8 @@ are often referred to as greyscale formats.
>        - ...
>        - ...
>        - ...
> +      - ...
> +      - ...
>  
>      * .. _V4L2-PIX-FMT-Y12P:
>  
> @@ -102,6 +114,8 @@ are often referred to as greyscale formats.
>        - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0]
>        - ...
>        - ...
> +      - ...
> +      - ...
>  
>      * .. _V4L2-PIX-FMT-Y14:
>  
> @@ -113,6 +127,21 @@ are often referred to as greyscale formats.
>        - ...
>        - ...
>        - ...
> +      - ...
> +      - ...
> +
> +    * .. _V4L2-PIX-FMT-Y14P:
> +
> +      - ``V4L2_PIX_FMT_Y14P``
> +      - 'Y14P'
> +
> +      - Y'\ :sub:`0`\ [13:6]
> +      - Y'\ :sub:`1`\ [13:6]
> +      - Y'\ :sub:`2`\ [13:6]
> +      - Y'\ :sub:`3`\ [13:6]
> +      - Y'\ :sub:`1`\ [1:0] Y'\ :sub:`0`\ [5:0]
> +      - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [5:2]
> +      - Y'\ :sub:`3`\ [5:0] Y'\ :sub:`2`\ [1:0]

This should be

      - Y'\ :sub:`3`\ [5:0] Y'\ :sub:`2`\ [5:4]

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

>  
>      * .. _V4L2-PIX-FMT-Y16:
>  
> @@ -124,6 +153,8 @@ are often referred to as greyscale formats.
>        - ...
>        - ...
>        - ...
> +      - ...
> +      - ...
>  
>      * .. _V4L2-PIX-FMT-Y16-BE:
>  
> @@ -135,6 +166,8 @@ are often referred to as greyscale formats.
>        - ...
>        - ...
>        - ...
> +      - ...
> +      - ...
>  
>  .. raw:: latex
>  
> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
> index e90979af8efb..4e33b86c6d27 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_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_Y14P:		descr = "14-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 39ab8c216fe8..581537ce12a3 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -570,6 +570,7 @@ struct v4l2_pix_format {
>  #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 */
> +#define V4L2_PIX_FMT_Y14P    v4l2_fourcc('Y', '1', '4', 'P') /* 14  Greyscale, MIPI RAW12 packed */
>  
>  /* Palette formats */
>  #define V4L2_PIX_FMT_PAL8    v4l2_fourcc('P', 'A', 'L', '8') /*  8  8-bit palette */

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] Add 12bit and 14bit luma-only formats
  2022-01-12 16:10 [PATCH 0/3] Add 12bit and 14bit luma-only formats Jean-Michel Hautbois
                   ` (2 preceding siblings ...)
  2022-01-12 16:10 ` [PATCH 3/3] media: v4l: Add V4L2-PIX-FMT-Y14P format Jean-Michel Hautbois
@ 2022-01-13  9:15 ` Hans Verkuil
  2022-01-13  9:27   ` Jean-Michel Hautbois
  3 siblings, 1 reply; 9+ messages in thread
From: Hans Verkuil @ 2022-01-13  9:15 UTC (permalink / raw)
  To: Jean-Michel Hautbois, linux-media, linux-kernel
  Cc: laurent.pinchart, mchehab, dave.stevenson

Hi Jean-Michel,

On 12/01/2022 17:10, Jean-Michel Hautbois wrote:
> Hello,
> 
> While working on adding the V4L2-PIX-FMT-Y12P and V4L2-PIX-FMT-Y14P
> formats, I noticed an issue in the way V4L2-PIX-FMT-Y10P is described.
> This series aims to solve it before adding Y12P and Y14P.
> 
> Those two formats are needed for the next-to-come bcm2835 unicam driver.
> 
> Jean-Michel Hautbois (3):
>   media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format
>   media: v4l: Add V4L2-PIX-FMT-Y12P format
>   media: v4l: Add V4L2-PIX-FMT-Y14P format
> 
>  .../media/v4l/pixfmt-yuv-luma.rst             | 48 ++++++++++++++++++-
>  drivers/media/v4l2-core/v4l2-ioctl.c          |  2 +
>  include/uapi/linux/videodev2.h                |  2 +
>  3 files changed, 50 insertions(+), 2 deletions(-)
> 

I'll take the first patch, but it is better to add patches 2 and 3 to the unicam RFC
series. Adding pixelformats that are not used by any existing driver isn't a good idea
and I'd like to avoid that.

Regards,

	Hans

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] Add 12bit and 14bit luma-only formats
  2022-01-13  9:15 ` [PATCH 0/3] Add 12bit and 14bit luma-only formats Hans Verkuil
@ 2022-01-13  9:27   ` Jean-Michel Hautbois
  0 siblings, 0 replies; 9+ messages in thread
From: Jean-Michel Hautbois @ 2022-01-13  9:27 UTC (permalink / raw)
  To: Hans Verkuil, linux-media, linux-kernel
  Cc: laurent.pinchart, mchehab, dave.stevenson

Hi Hans !

On 13/01/2022 10:15, Hans Verkuil wrote:
> Hi Jean-Michel,
> 
> On 12/01/2022 17:10, Jean-Michel Hautbois wrote:
>> Hello,
>>
>> While working on adding the V4L2-PIX-FMT-Y12P and V4L2-PIX-FMT-Y14P
>> formats, I noticed an issue in the way V4L2-PIX-FMT-Y10P is described.
>> This series aims to solve it before adding Y12P and Y14P.
>>
>> Those two formats are needed for the next-to-come bcm2835 unicam driver.
>>
>> Jean-Michel Hautbois (3):
>>    media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format
>>    media: v4l: Add V4L2-PIX-FMT-Y12P format
>>    media: v4l: Add V4L2-PIX-FMT-Y14P format
>>
>>   .../media/v4l/pixfmt-yuv-luma.rst             | 48 ++++++++++++++++++-
>>   drivers/media/v4l2-core/v4l2-ioctl.c          |  2 +
>>   include/uapi/linux/videodev2.h                |  2 +
>>   3 files changed, 50 insertions(+), 2 deletions(-)
>>
> 
> I'll take the first patch, but it is better to add patches 2 and 3 to the unicam RFC
> series. Adding pixelformats that are not used by any existing driver isn't a good idea
> and I'd like to avoid that.

Thanks, I will take those two patches back in the unicam RFC v2 series then.

> 
> Regards,
> 
> 	Hans
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-01-13  9:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-12 16:10 [PATCH 0/3] Add 12bit and 14bit luma-only formats Jean-Michel Hautbois
2022-01-12 16:10 ` [PATCH 1/3] media: doc: pixfmt-yuv: Fix V4L2-PIX-FMT-Y10P format Jean-Michel Hautbois
2022-01-12 16:16   ` Laurent Pinchart
2022-01-12 16:10 ` [PATCH 2/3] media: v4l: Add V4L2-PIX-FMT-Y12P format Jean-Michel Hautbois
2022-01-12 16:18   ` Laurent Pinchart
2022-01-12 16:10 ` [PATCH 3/3] media: v4l: Add V4L2-PIX-FMT-Y14P format Jean-Michel Hautbois
2022-01-12 16:21   ` Laurent Pinchart
2022-01-13  9:15 ` [PATCH 0/3] Add 12bit and 14bit luma-only formats Hans Verkuil
2022-01-13  9:27   ` Jean-Michel Hautbois

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.