lkml.org 
[lkml]   [2021]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [EXT] Re: [PATCH v5 02/14] media:Add nt8 and nt10 video format.
Date


> -----Original Message-----
> From: Nicolas Dufresne [mailto:nicolas@ndufresne.ca]
> Sent: Wednesday, July 28, 2021 1:58 AM
> To: Ming Qian <ming.qian@nxp.com>; mchehab@kernel.org;
> shawnguo@kernel.org; robh+dt@kernel.org; s.hauer@pengutronix.de
> Cc: hverkuil-cisco@xs4all.nl; kernel@pengutronix.de; festevam@gmail.com;
> dl-linux-imx <linux-imx@nxp.com>; Aisheng Dong <aisheng.dong@nxp.com>;
> linux-media@vger.kernel.org; linux-kernel@vger.kernel.org;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: [EXT] Re: [PATCH v5 02/14] media:Add nt8 and nt10 video format.
>
> Caution: EXT Email
>
> Le mardi 27 juillet 2021 à 11:20 +0800, Ming Qian a écrit :
> > NT8 is 8-bit tiled nv12 format used by amphion decoder.
> > NT10 is 10-bit tiled format used by amphion decoder.
> > The tile size is 8x128
> >
> > Signed-off-by: Ming Qian <ming.qian@nxp.com>
> > Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
> > Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
> > ---
> > .../userspace-api/media/v4l/pixfmt-reserved.rst | 15 +++++++++++++++
> > drivers/media/v4l2-core/v4l2-ioctl.c | 2 ++
> > include/uapi/linux/videodev2.h | 2 ++
> > 3 files changed, 19 insertions(+)
> >
> > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
> > b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
> > index c9231e18859b..2deae49210a7 100644
> > --- a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
> > +++ b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
> > @@ -256,3 +256,18 @@ please make a proposal on the linux-media mailing
> list.
> > of tiles, resulting in 32-aligned resolutions for the luminance plane
> > and 16-aligned resolutions for the chrominance plane (with 2x2
> > subsampling).
> > + * .. _V4L2-PIX-FMT-NT8:
> > +
> > + - ``V4L2_PIX_FMT_NT8``
> > + - 'NA12'
> > + - Two-planar NV12-based format used by the video engine found on
> Amphion decoder,
> > + with 8x128 tiles for the luminance plane and chrominance plane.
> > + The number of bytes in one luminance or chrominance row must be
> divisible by 256.
> > + * .. _V4L2-PIX-FMT-NT10:
>
> There is a large spread of "vendor specific" format that aren't really specific, or
> complex enough to be worth being marked as vendor format. As per my
> reading of this description, this is linearly layout 8x128 tiled format, with no
> compression or anything (well unless you forgot to mention). As a side effect,
> we should give that format an explicit name (NT8 is cryptic). What about
> V4L2_PIX_FMT_NV12_8L128, my colleague is about to send a proposal in that
> direction. That would be NV12 with plane tiled 8x128 bytes and layout linearly,
> row by row, left to right. We already have cryptic formats like SUNXI, HM12
> that are literally just that, simple tiling, and we endup having to use obscure
> vendor name whenever other HW uses the same.
>
> (this comment extends to the other formats here)

Hi Nicolas,
Thanks for your advice, I'll change the format name from NT8 to NV12_8L128

>
> > +
> > + - ``V4L2_PIX_FMT_NT10``
> > + - 'NT12'
> > + - NT10 is a tiled YUV format with 10-bits per pixel with interleaved
> UV.
> > + It's used by the video engine found on Amphion decoder,
> > + with 8x128 tiles for the luminance plane and chrominance plane.
> > + The number of bytes in one luminance or chrominance row must be
> divisible by 256.
> > diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c
> > b/drivers/media/v4l2-core/v4l2-ioctl.c
> > index eeff398fbdcc..34e6415e5722 100644
> > --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> > +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> > @@ -1402,6 +1402,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc
> *fmt)
> > case V4L2_META_FMT_UVC: descr = "UVC Payload Header
> Metadata"; break;
> > case V4L2_META_FMT_D4XX: descr = "Intel D4xx UVC
> Metadata"; break;
> > case V4L2_META_FMT_VIVID: descr = "Vivid Metadata";
> break;
> > + case V4L2_PIX_FMT_NT8: descr = "Amphion Tiled 8x128
> NV12"; break;
> > + case V4L2_PIX_FMT_NT10: descr = "Amphion Tiled 8x128
> 10-bit"; break;
> >
> > default:
> > /* Compressed formats */ diff --git
> > a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> > index 534eaa4d39bc..4836590a690c 100644
> > --- a/include/uapi/linux/videodev2.h
> > +++ b/include/uapi/linux/videodev2.h
> > @@ -740,6 +740,8 @@ struct v4l2_pix_format {
> > #define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar
> Greyscale 10-bit and Depth 16-bit */
> > #define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') /*
> Sunxi Tiled NV12 Format */
> > #define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit
> packed depth confidence information */
> > +#define V4L2_PIX_FMT_NT8 v4l2_fourcc('N', 'A', '1', '2') /* Amphion
> Tiled 8x128 NV12 Format */
> > +#define V4L2_PIX_FMT_NT10 v4l2_fourcc('N', 'T', '1', '2') /* Amphion
> Tiled 8x128 10 bit Format */
> >
> > /* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits
> unused */
> > #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /*
> IPU3 packed 10-bit BGGR bayer */
>

\
 
 \ /
  Last update: 2021-07-28 03:41    [W:0.071 / U:0.912 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site