Hi Detlev, On Tue Mar 25, 2025 at 10:22 PM CET, Detlev Casanova wrote: > From: Jonas Karlman > > Add NV15 and NV20 pixel formats used by the Rockchip Video Decoder for > 10-bit buffers. > > NV15 and NV20 is 10-bit 4:2:0/4:2:2 semi-planar YUV formats similar to > NV12 and NV16, using 10-bit components with no padding between each > component. Instead, a group of 4 luminance/chrominance samples are > stored over 5 bytes in little endian order: > > YYYY = UVUV = 4 * 10 bits = 40 bits = 5 bytes > > The '15' and '20' suffix refers to the optimum effective bits per pixel > which is achieved when the total number of luminance samples is a > multiple of 8 for NV15 and 4 for NV20. > > Signed-off-by: Jonas Karlman > Tested-by: Nicolas Dufresne > Tested-by: Christopher Obbard > --- > .../media/v4l/pixfmt-yuv-planar.rst | 128 ++++++++++++++++++ > drivers/media/v4l2-core/v4l2-common.c | 2 + > drivers/media/v4l2-core/v4l2-ioctl.c | 2 + > include/uapi/linux/videodev2.h | 2 + > 4 files changed, 134 insertions(+) > > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst > index b788f69338554..22cad8c9726bf 100644 > --- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst > +++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst > @@ -79,6 +79,13 @@ All components are stored with the same number of bits per component. > - Cr, Cb > - Yes > - Linear > + * - V4L2_PIX_FMT_NV15 > + - 'NV15' > + - 10 > + - 4:2:0 > + - Cb, Cr > + - Yes > + - Linear In your cover letter you mentioned: Imported improvements from [1] [1]: https://lore.kernel.org/linux-media/20250225-rkvdec_h264_high10_and_422_support-v7-2-7992a68a4910@collabora.com/ The changelog of "media: rkvdec: Add H.264 High 10 and 4:2:2 profile support" v7 had this: - Move V4L2_PIX_FMT_NV15/V4L2_PIX_FMT_NV20 documentation as suggested Following a comment on v6 of that series. But it seems these blocks are now placed at the location as it was in the v6 series, thus NOT importing its improvements? > * - V4L2_PIX_FMT_NV12M > - 'NM12' > - 8 > @@ -172,6 +179,13 @@ All components are stored with the same number of bits per component. > - Cr, Cb > - Yes > - Linear > + * - V4L2_PIX_FMT_NV20 > + - 'NV20' > + - 10 > + - 4:2:2 > + - Cb, Cr > + - Yes > + - Linear > * - V4L2_PIX_FMT_NV16M > - 'NM16' > - 8 The same thing seemed to have happened here? Cheers, Diederik > @@ -302,6 +316,57 @@ of the luma plane. > - Cr\ :sub:`11` > > > +.. _V4L2-PIX-FMT-NV15: > + > +NV15 > +---- > + > +Semi-planar 10-bit YUV 4:2:0 format similar to NV12, using 10-bit components > +with no padding between each component. A group of 4 components are stored over > +5 bytes in little endian order. > + > +.. flat-table:: Sample 4x4 NV15 Image (1 byte per cell) > + :header-rows: 0 > + :stub-columns: 0