On 02/11/2020 23:40, Laurent Pinchart wrote: > Add three new formats belonging to the packed YUV 4:4:4 family. They are > used by the Xilinx Video Frame Buffer Read/Write IP cores. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > .../media/v4l/pixfmt-packed-yuv.rst | 29 +++++++++++++++++++ > include/uapi/linux/videodev2.h | 3 ++ > 2 files changed, 32 insertions(+) > > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst b/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst > index 8f0f1405bfe3..6824898122aa 100644 > --- a/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst > +++ b/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst > @@ -170,6 +170,15 @@ the second byte and Y'\ :sub:`7-0` in the third byte. > - Byte 2 > - Byte 3 > > + * .. _V4L2-PIX-FMT-YUV24: > + > + - ``V4L2_PIX_FMT_YUV24`` > + - 'YUV3' > + > + - Y'\ :sub:`7-0` > + - Cb\ :sub:`7-0` > + - Cr\ :sub:`7-0` > + > * .. _V4L2-PIX-FMT-YUV32: > > - ``V4L2_PIX_FMT_YUV32`` > @@ -220,6 +229,26 @@ the second byte and Y'\ :sub:`7-0` in the third byte. > - Y'\ :sub:`7-0` > - `-`\ :sub:`7-0` > > + * .. _V4L2-PIX-FMT-YUVA32: > + > + - ``V4L2_PIX_FMT_YUVA32`` > + - 'YUVA' > + > + - Y'\ :sub:`7-0` > + - Cb\ :sub:`7-0` > + - Cr\ :sub:`7-0` > + - `-`\ :sub:`7-0` '-' should be A here. Regards, Hans > + > + * .. _V4L2-PIX-FMT-YUVX32: > + > + - ``V4L2_PIX_FMT_YUVX32`` > + - 'YUVX' > + > + - Y'\ :sub:`7-0` > + - Cb\ :sub:`7-0` > + - Cr\ :sub:`7-0` > + - `-`\ :sub:`7-0` > + > .. note:: > > - The alpha component is expected to contain a meaningful value that can be > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h > index fab1dbb1a618..afe3619bc77c 100644 > --- a/include/uapi/linux/videodev2.h > +++ b/include/uapi/linux/videodev2.h > @@ -593,11 +593,14 @@ struct v4l2_pix_format { > #define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */ > #define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */ > #define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */ > +#define V4L2_PIX_FMT_YUV24 v4l2_fourcc('Y', 'U', 'V', '3') /* 24 YUV-8-8-8 */ > #define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */ > #define V4L2_PIX_FMT_AYUV32 v4l2_fourcc('A', 'Y', 'U', 'V') /* 32 AYUV-8-8-8-8 */ > #define V4L2_PIX_FMT_XYUV32 v4l2_fourcc('X', 'Y', 'U', 'V') /* 32 XYUV-8-8-8-8 */ > #define V4L2_PIX_FMT_VUYA32 v4l2_fourcc('V', 'U', 'Y', 'A') /* 32 VUYA-8-8-8-8 */ > #define V4L2_PIX_FMT_VUYX32 v4l2_fourcc('V', 'U', 'Y', 'X') /* 32 VUYX-8-8-8-8 */ > +#define V4L2_PIX_FMT_YUVA32 v4l2_fourcc('Y', 'U', 'V', 'A') /* 32 YUVA-8-8-8-8 */ > +#define V4L2_PIX_FMT_YUVX32 v4l2_fourcc('Y', 'U', 'V', 'X') /* 32 YUVX-8-8-8-8 */ > #define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */ > > /* two planes -- one Y, one Cr + Cb interleaved */ >