[2/3] include: linux: videodev2: Add NV12MT_COL128 8/10-bit pixel formats
diff mbox series

Message ID 20260626120041.627376-3-naush@raspberrypi.com
State New
Headers show
Series
  • Add NV12MT_COL128 8/10-bit pixel formats
Related show

Commit Message

Naushir Patuck June 26, 2026, 11:54 a.m. UTC
Add the V4L2_PIX_FMT_NV12MT_COL128 and V4L2_PIX_FMT_NV12MT_10_COL128
4CCs. These formats are available from the PiSP Backend hardware.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
 include/linux/videodev2.h | 3 +++
 1 file changed, 3 insertions(+)

Comments

Laurent Pinchart June 26, 2026, 12:07 p.m. UTC | #1
Hi Naush,

Thank you for the patch.

On Fri, Jun 26, 2026 at 12:54:02PM +0100, Naushir Patuck wrote:
> Add the V4L2_PIX_FMT_NV12MT_COL128 and V4L2_PIX_FMT_NV12MT_10_COL128
> 4CCs. These formats are available from the PiSP Backend hardware.

What's the status of upstreaming those formats ? I see them being added
by the HEVC decoder patch series, but I don't see support for them being
added to the PiSP backend driver.

> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
> ---
>  include/linux/videodev2.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> index 8bccad84ff83..0c6c4c6831d9 100644
> --- a/include/linux/videodev2.h
> +++ b/include/linux/videodev2.h
> @@ -670,6 +670,9 @@ struct v4l2_pix_format {
>  #define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12  Y/CbCr 4:2:0 16x16 tiles */
>  #define V4L2_PIX_FMT_NV12M_8L128      v4l2_fourcc('N', 'A', '1', '2') /* Y/CbCr 4:2:0 8x128 tiles */
>  #define V4L2_PIX_FMT_NV12M_10BE_8L128 v4l2_fourcc_be('N', 'T', '1', '2') /* Y/CbCr 4:2:0 10-bit 8x128 tiles */
> +#define V4L2_PIX_FMT_NV12MT_COL128 v4l2_fourcc('N', 'c', '1', '2') /* 12  Y/CbCr 4:2:0 128 pixel wide column */
> +#define V4L2_PIX_FMT_NV12MT_10_COL128 v4l2_fourcc('N', 'c', '3', '0')
> +			/* Y/CbCr 4:2:0 10bpc, 3x10 packed as 4 bytes in a 128 bytes / 96 pixel wide column */
>  
>  /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
>  #define V4L2_PIX_FMT_SBGGR8  v4l2_fourcc('B', 'A', '8', '1') /*  8  BGBG.. GRGR.. */
Naushir Patuck June 26, 2026, 12:12 p.m. UTC | #2
Adding Dave S.

On Fri, 26 Jun 2026 at 13:07, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
>
> Hi Naush,
>
> Thank you for the patch.
>
> On Fri, Jun 26, 2026 at 12:54:02PM +0100, Naushir Patuck wrote:
> > Add the V4L2_PIX_FMT_NV12MT_COL128 and V4L2_PIX_FMT_NV12MT_10_COL128
> > 4CCs. These formats are available from the PiSP Backend hardware.
>
> What's the status of upstreaming those formats ? I see them being added
> by the HEVC decoder patch series, but I don't see support for them being
> added to the PiSP backend driver.


Oh, good point. I thought Dave might have sent the patch for that as
well, but it's only downstream right now.  We will push the pisp
driver upstream as well.

Naush



>
>
> > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
> > ---
> >  include/linux/videodev2.h | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> > index 8bccad84ff83..0c6c4c6831d9 100644
> > --- a/include/linux/videodev2.h
> > +++ b/include/linux/videodev2.h
> > @@ -670,6 +670,9 @@ struct v4l2_pix_format {
> >  #define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12  Y/CbCr 4:2:0 16x16 tiles */
> >  #define V4L2_PIX_FMT_NV12M_8L128      v4l2_fourcc('N', 'A', '1', '2') /* Y/CbCr 4:2:0 8x128 tiles */
> >  #define V4L2_PIX_FMT_NV12M_10BE_8L128 v4l2_fourcc_be('N', 'T', '1', '2') /* Y/CbCr 4:2:0 10-bit 8x128 tiles */
> > +#define V4L2_PIX_FMT_NV12MT_COL128 v4l2_fourcc('N', 'c', '1', '2') /* 12  Y/CbCr 4:2:0 128 pixel wide column */
> > +#define V4L2_PIX_FMT_NV12MT_10_COL128 v4l2_fourcc('N', 'c', '3', '0')
> > +                     /* Y/CbCr 4:2:0 10bpc, 3x10 packed as 4 bytes in a 128 bytes / 96 pixel wide column */
> >
> >  /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
> >  #define V4L2_PIX_FMT_SBGGR8  v4l2_fourcc('B', 'A', '8', '1') /*  8  BGBG.. GRGR.. */
>
> --
> Regards,
>
> Laurent Pinchart

Patch
diff mbox series

diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 8bccad84ff83..0c6c4c6831d9 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -670,6 +670,9 @@  struct v4l2_pix_format {
 #define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12  Y/CbCr 4:2:0 16x16 tiles */
 #define V4L2_PIX_FMT_NV12M_8L128      v4l2_fourcc('N', 'A', '1', '2') /* Y/CbCr 4:2:0 8x128 tiles */
 #define V4L2_PIX_FMT_NV12M_10BE_8L128 v4l2_fourcc_be('N', 'T', '1', '2') /* Y/CbCr 4:2:0 10-bit 8x128 tiles */
+#define V4L2_PIX_FMT_NV12MT_COL128 v4l2_fourcc('N', 'c', '1', '2') /* 12  Y/CbCr 4:2:0 128 pixel wide column */
+#define V4L2_PIX_FMT_NV12MT_10_COL128 v4l2_fourcc('N', 'c', '3', '0')
+			/* Y/CbCr 4:2:0 10bpc, 3x10 packed as 4 bytes in a 128 bytes / 96 pixel wide column */
 
 /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
 #define V4L2_PIX_FMT_SBGGR8  v4l2_fourcc('B', 'A', '8', '1') /*  8  BGBG.. GRGR.. */