[v2,1/5] media: v4l: Add 1X16 16-bit greyscale media bus code definition
Commit Message
This extends the greyscale media bus family originally from
MEDIA_BUS_FMT_Y8_1X8 up to MEDIA_BUS_FMT_Y14_1X14 by adding
MEDIA_BUS_FMT_Y16_1X16, and behaves the same way with 16 bits.
Add its documentation in subdev-formats.rst
Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
---
.../media/v4l/subdev-formats.rst | 37 +++++++++++++++++++
include/uapi/linux/media-bus-format.h | 3 +-
2 files changed, 39 insertions(+), 1 deletion(-)
Comments
Hi Benjamin,
Thank you for the patch.
On Fri, Apr 15, 2022 at 01:18:41PM +0200, Benjamin Mugnier wrote:
> This extends the greyscale media bus family originally from
> MEDIA_BUS_FMT_Y8_1X8 up to MEDIA_BUS_FMT_Y14_1X14 by adding
> MEDIA_BUS_FMT_Y16_1X16, and behaves the same way with 16 bits.
> Add its documentation in subdev-formats.rst
>
> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> .../media/v4l/subdev-formats.rst | 37 +++++++++++++++++++
> include/uapi/linux/media-bus-format.h | 3 +-
> 2 files changed, 39 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/userspace-api/media/v4l/subdev-formats.rst b/Documentation/userspace-api/media/v4l/subdev-formats.rst
> index 0cbc045d5df6..b8bb16c70d62 100644
> --- a/Documentation/userspace-api/media/v4l/subdev-formats.rst
> +++ b/Documentation/userspace-api/media/v4l/subdev-formats.rst
> @@ -7387,6 +7387,43 @@ The following table list existing packed 36bit wide YUV formats.
> - v\ :sub:`2`
> - v\ :sub:`1`
> - v\ :sub:`0`
> + * .. _MEDIA-BUS-FMT-Y16-1X16:
> +
> + - MEDIA_BUS_FMT_Y16_1X16
> + - 0x202e
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + -
> + - y\ :sub:`15`
> + - y\ :sub:`14`
> + - y\ :sub:`13`
> + - y\ :sub:`12`
> + - y\ :sub:`11`
> + - y\ :sub:`10`
> + - y\ :sub:`9`
> + - y\ :sub:`8`
> + - y\ :sub:`7`
> + - y\ :sub:`6`
> + - y\ :sub:`5`
> + - y\ :sub:`4`
> + - y\ :sub:`3`
> + - y\ :sub:`2`
> + - y\ :sub:`1`
> + - y\ :sub:`0`
>
>
> .. raw:: latex
> diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h
> index 0dfc11ee243a..0b436759d94d 100644
> --- a/include/uapi/linux/media-bus-format.h
> +++ b/include/uapi/linux/media-bus-format.h
> @@ -65,7 +65,7 @@
> #define MEDIA_BUS_FMT_RGB121212_1X36 0x1019
> #define MEDIA_BUS_FMT_RGB161616_1X48 0x101a
>
> -/* YUV (including grey) - next is 0x202e */
> +/* YUV (including grey) - next is 0x202f */
> #define MEDIA_BUS_FMT_Y8_1X8 0x2001
> #define MEDIA_BUS_FMT_UV8_1X8 0x2015
> #define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002
> @@ -111,6 +111,7 @@
> #define MEDIA_BUS_FMT_YUV12_1X36 0x2029
> #define MEDIA_BUS_FMT_YUV16_1X48 0x202a
> #define MEDIA_BUS_FMT_UYYVYY16_0_5X48 0x202b
> +#define MEDIA_BUS_FMT_Y16_1X16 0x202e
I was going to ask for this to be moved before MEDIA_BUS_FMT_YUV16_1X48
to match the order of the other formats, but it looks like we have
already messed up ordering, so I suppose it's ok. Please still feel free
to move it to a more appropriate place, if any.
>
> /* Bayer - next is 0x3021 */
> #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001
@@ -7387,6 +7387,43 @@ The following table list existing packed 36bit wide YUV formats.
- v\ :sub:`2`
- v\ :sub:`1`
- v\ :sub:`0`
+ * .. _MEDIA-BUS-FMT-Y16-1X16:
+
+ - MEDIA_BUS_FMT_Y16_1X16
+ - 0x202e
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ - y\ :sub:`15`
+ - y\ :sub:`14`
+ - y\ :sub:`13`
+ - y\ :sub:`12`
+ - y\ :sub:`11`
+ - y\ :sub:`10`
+ - y\ :sub:`9`
+ - y\ :sub:`8`
+ - y\ :sub:`7`
+ - y\ :sub:`6`
+ - y\ :sub:`5`
+ - y\ :sub:`4`
+ - y\ :sub:`3`
+ - y\ :sub:`2`
+ - y\ :sub:`1`
+ - y\ :sub:`0`
.. raw:: latex
@@ -65,7 +65,7 @@
#define MEDIA_BUS_FMT_RGB121212_1X36 0x1019
#define MEDIA_BUS_FMT_RGB161616_1X48 0x101a
-/* YUV (including grey) - next is 0x202e */
+/* YUV (including grey) - next is 0x202f */
#define MEDIA_BUS_FMT_Y8_1X8 0x2001
#define MEDIA_BUS_FMT_UV8_1X8 0x2015
#define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002
@@ -111,6 +111,7 @@
#define MEDIA_BUS_FMT_YUV12_1X36 0x2029
#define MEDIA_BUS_FMT_YUV16_1X48 0x202a
#define MEDIA_BUS_FMT_UYYVYY16_0_5X48 0x202b
+#define MEDIA_BUS_FMT_Y16_1X16 0x202e
/* Bayer - next is 0x3021 */
#define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001