Message ID | 20240305160855.147483-3-jacopo.mondi@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: raspberrypi: Add support for PiSP Back End | expand |
Hi Jacopo, On Tue, 5 Mar 2024 at 16:09, Jacopo Mondi <jacopo.mondi@ideasonboard.com> wrote: > > From: Dave Stevenson <dave.stevenson@raspberrypi.com> > > Add the Y14P format to describe monochrome 14 bit image format > packed according to the RAW14 format as defined by the MIPI > CSI-2 specification. > > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> > --- > .../media/v4l/pixfmt-yuv-luma.rst | 37 +++++++++++++++++++ > drivers/media/v4l2-core/v4l2-ioctl.c | 1 + > include/uapi/linux/videodev2.h | 1 + > 3 files changed, 39 insertions(+) > > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst > index 585d736f36e5..3af6e3cb70c4 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-IPU3-Y10: > > @@ -58,6 +62,8 @@ are often referred to as greyscale formats. > - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [9:6] > - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [9:4] > - Y'\ :sub:`3`\ [9:2] > + - ... > + - ... > > * .. _V4L2-PIX-FMT-Y10: > > @@ -69,6 +75,8 @@ are often referred to as greyscale formats. > - ... > - ... > - ... > + - ... > + - ... > > * .. _V4L2-PIX-FMT-Y10BPACK: > > @@ -80,6 +88,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: > > @@ -91,6 +101,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: > > @@ -102,6 +114,8 @@ are often referred to as greyscale formats. > - ... > - ... > - ... > + - ... > + - ... > > * .. _V4L2-PIX-FMT-Y012: > > @@ -113,6 +127,8 @@ are often referred to as greyscale formats. > - ... > - ... > - ... > + - ... > + - ... > > * .. _V4L2-PIX-FMT-Y12P: > > @@ -124,6 +140,8 @@ are often referred to as greyscale formats. > - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0] > - ... > - ... > + - ... > + - ... > > * .. _V4L2-PIX-FMT-Y14: > > @@ -135,6 +153,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`\ [5:4] > > * .. _V4L2-PIX-FMT-Y16: > > @@ -146,6 +179,8 @@ are often referred to as greyscale formats. > - ... > - ... > - ... > + - ... > + - ... > > * .. _V4L2-PIX-FMT-Y16-BE: > > @@ -157,6 +192,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 9cb09334161b..d0724240a446 100644 > --- a/drivers/media/v4l2-core/v4l2-ioctl.c > +++ b/drivers/media/v4l2-core/v4l2-ioctl.c > @@ -1312,6 +1312,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_IPU3_Y10: descr = "10-bit greyscale (IPU3 Packed)"; break; > case V4L2_PIX_FMT_Y8I: descr = "Interleaved 8-bit Greyscale"; break; > case V4L2_PIX_FMT_Y12I: descr = "Interleaved 12-bit Greyscale"; break; > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h > index 11ebf9b22ccb..911f00ed28fd 100644 > --- a/include/uapi/linux/videodev2.h > +++ b/include/uapi/linux/videodev2.h > @@ -599,6 +599,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 RAW14 packed */ > #define V4L2_PIX_FMT_IPU3_Y10 v4l2_fourcc('i', 'p', '3', 'y') /* IPU3 packed 10-bit greyscale */ > > /* Palette formats */ > -- > 2.43.2 >
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst index 585d736f36e5..3af6e3cb70c4 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-IPU3-Y10: @@ -58,6 +62,8 @@ are often referred to as greyscale formats. - Y'\ :sub:`2`\ [3:0] Y'\ :sub:`1`\ [9:6] - Y'\ :sub:`3`\ [1:0] Y'\ :sub:`2`\ [9:4] - Y'\ :sub:`3`\ [9:2] + - ... + - ... * .. _V4L2-PIX-FMT-Y10: @@ -69,6 +75,8 @@ are often referred to as greyscale formats. - ... - ... - ... + - ... + - ... * .. _V4L2-PIX-FMT-Y10BPACK: @@ -80,6 +88,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: @@ -91,6 +101,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: @@ -102,6 +114,8 @@ are often referred to as greyscale formats. - ... - ... - ... + - ... + - ... * .. _V4L2-PIX-FMT-Y012: @@ -113,6 +127,8 @@ are often referred to as greyscale formats. - ... - ... - ... + - ... + - ... * .. _V4L2-PIX-FMT-Y12P: @@ -124,6 +140,8 @@ are often referred to as greyscale formats. - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0] - ... - ... + - ... + - ... * .. _V4L2-PIX-FMT-Y14: @@ -135,6 +153,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`\ [5:4] * .. _V4L2-PIX-FMT-Y16: @@ -146,6 +179,8 @@ are often referred to as greyscale formats. - ... - ... - ... + - ... + - ... * .. _V4L2-PIX-FMT-Y16-BE: @@ -157,6 +192,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 9cb09334161b..d0724240a446 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -1312,6 +1312,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_IPU3_Y10: descr = "10-bit greyscale (IPU3 Packed)"; break; case V4L2_PIX_FMT_Y8I: descr = "Interleaved 8-bit Greyscale"; break; case V4L2_PIX_FMT_Y12I: descr = "Interleaved 12-bit Greyscale"; break; diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 11ebf9b22ccb..911f00ed28fd 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -599,6 +599,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 RAW14 packed */ #define V4L2_PIX_FMT_IPU3_Y10 v4l2_fourcc('i', 'p', '3', 'y') /* IPU3 packed 10-bit greyscale */ /* Palette formats */