[RFC v1 07/11] media: Add meta formats supported by NXP neoisp driver

Antoine Bouyer posted 11 patches 2 weeks, 3 days ago
[RFC v1 07/11] media: Add meta formats supported by NXP neoisp driver
Posted by Antoine Bouyer 2 weeks, 3 days ago
This patch adds new v4l2 meta formats definitions and descriptions used by
neoisp driver for the parameters and statistics buffers:
 - `V4L2_META_FMT_NEO_ISP_PARAMS` used for the legacy fixed-size
parameters buffer structure.
 - `V4L2_META_FMT_NEO_ISP_EXT_PARAMS` used for the generic v4l2-isp
extensible parameters structure, supporting a non-fixed-size buffer and
changeable ISP configuration blocks.
 - `V4L2_META_FMT_NEO_ISP_STATS` used for the legacy fixed-size statistics
buffer structure.
 - `V4L2_META_FMT_NEO_ISP_EXT_STATS` used for the generic v4l2-isp
extensible statistics structure, supporting a non-fixed-size buffer
and changeable ISP statistics blocks.

Signed-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>
---
 drivers/media/v4l2-core/v4l2-ioctl.c | 4 ++++
 include/uapi/linux/videodev2.h       | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index 37d33d4a363d..c797cf11be38 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1471,6 +1471,10 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
 	case V4L2_META_FMT_C3ISP_STATS:		descr = "Amlogic C3 ISP Statistics"; break;
 	case V4L2_META_FMT_MALI_C55_PARAMS:	descr = "ARM Mali-C55 ISP Parameters"; break;
 	case V4L2_META_FMT_MALI_C55_STATS:	descr = "ARM Mali-C55 ISP 3A Statistics"; break;
+	case V4L2_META_FMT_NEO_ISP_PARAMS:	descr = "NXP Neo ISP 3A Parameters"; break;
+	case V4L2_META_FMT_NEO_ISP_EXT_PARAMS:	descr = "NXP Neo ISP ext 3A Parameters"; break;
+	case V4L2_META_FMT_NEO_ISP_STATS:	descr = "NXP Neo ISP 3A Statistics"; break;
+	case V4L2_META_FMT_NEO_ISP_EXT_STATS:	descr = "NXP Neo ISP ext 3A Statistics"; break;
 	case V4L2_PIX_FMT_NV12_8L128:	descr = "NV12 (8x128 Linear)"; break;
 	case V4L2_PIX_FMT_NV12M_8L128:	descr = "NV12M (8x128 Linear)"; break;
 	case V4L2_PIX_FMT_NV12_10BE_8L128:	descr = "10-bit NV12 (8x128 Linear, BE)"; break;
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 848e86617d5c..5f4992452c66 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -889,6 +889,12 @@ struct v4l2_pix_format {
 #define V4L2_META_FMT_MALI_C55_PARAMS	v4l2_fourcc('C', '5', '5', 'P') /* ARM Mali-C55 Parameters */
 #define V4L2_META_FMT_MALI_C55_STATS	v4l2_fourcc('C', '5', '5', 'S') /* ARM Mali-C55 3A Statistics */
 
+/* Vendor specific - used for NXP NEOISP sub-system */
+#define V4L2_META_FMT_NEO_ISP_PARAMS		v4l2_fourcc('N', 'N', 'I', 'P') /* NXP NEOISP Parameters */
+#define V4L2_META_FMT_NEO_ISP_EXT_PARAMS	v4l2_fourcc('N', 'N', 'E', 'P') /* NXP NEOISP Ext Params */
+#define V4L2_META_FMT_NEO_ISP_STATS		v4l2_fourcc('N', 'N', 'I', 'S') /* NXP NEOISP Statistics */
+#define V4L2_META_FMT_NEO_ISP_EXT_STATS		v4l2_fourcc('N', 'N', 'E', 'S') /* NXP NEOISP Ext Stats */
+
 #ifdef __KERNEL__
 /*
  * Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when
-- 
2.52.0
Re: [RFC v1 07/11] media: Add meta formats supported by NXP neoisp driver
Posted by Jacopo Mondi 5 days, 22 hours ago
Hi Antoine

On Fri, Jan 23, 2026 at 09:09:34AM +0100, Antoine Bouyer wrote:
> This patch adds new v4l2 meta formats definitions and descriptions used by
> neoisp driver for the parameters and statistics buffers:
>  - `V4L2_META_FMT_NEO_ISP_PARAMS` used for the legacy fixed-size
> parameters buffer structure.
>  - `V4L2_META_FMT_NEO_ISP_EXT_PARAMS` used for the generic v4l2-isp
> extensible parameters structure, supporting a non-fixed-size buffer and
> changeable ISP configuration blocks.
>  - `V4L2_META_FMT_NEO_ISP_STATS` used for the legacy fixed-size statistics
> buffer structure.
>  - `V4L2_META_FMT_NEO_ISP_EXT_STATS` used for the generic v4l2-isp
> extensible statistics structure, supporting a non-fixed-size buffer
> and changeable ISP statistics blocks.

Uh interesting, you have existing userspace that needs legacy formats ?

>
> Signed-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>
> ---
>  drivers/media/v4l2-core/v4l2-ioctl.c | 4 ++++
>  include/uapi/linux/videodev2.h       | 6 ++++++
>  2 files changed, 10 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
> index 37d33d4a363d..c797cf11be38 100644
> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> @@ -1471,6 +1471,10 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
>  	case V4L2_META_FMT_C3ISP_STATS:		descr = "Amlogic C3 ISP Statistics"; break;
>  	case V4L2_META_FMT_MALI_C55_PARAMS:	descr = "ARM Mali-C55 ISP Parameters"; break;
>  	case V4L2_META_FMT_MALI_C55_STATS:	descr = "ARM Mali-C55 ISP 3A Statistics"; break;
> +	case V4L2_META_FMT_NEO_ISP_PARAMS:	descr = "NXP Neo ISP 3A Parameters"; break;
> +	case V4L2_META_FMT_NEO_ISP_EXT_PARAMS:	descr = "NXP Neo ISP ext 3A Parameters"; break;
> +	case V4L2_META_FMT_NEO_ISP_STATS:	descr = "NXP Neo ISP 3A Statistics"; break;
> +	case V4L2_META_FMT_NEO_ISP_EXT_STATS:	descr = "NXP Neo ISP ext 3A Statistics"; break;
>  	case V4L2_PIX_FMT_NV12_8L128:	descr = "NV12 (8x128 Linear)"; break;
>  	case V4L2_PIX_FMT_NV12M_8L128:	descr = "NV12M (8x128 Linear)"; break;
>  	case V4L2_PIX_FMT_NV12_10BE_8L128:	descr = "10-bit NV12 (8x128 Linear, BE)"; break;
> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> index 848e86617d5c..5f4992452c66 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -889,6 +889,12 @@ struct v4l2_pix_format {
>  #define V4L2_META_FMT_MALI_C55_PARAMS	v4l2_fourcc('C', '5', '5', 'P') /* ARM Mali-C55 Parameters */
>  #define V4L2_META_FMT_MALI_C55_STATS	v4l2_fourcc('C', '5', '5', 'S') /* ARM Mali-C55 3A Statistics */
>
> +/* Vendor specific - used for NXP NEOISP sub-system */
> +#define V4L2_META_FMT_NEO_ISP_PARAMS		v4l2_fourcc('N', 'N', 'I', 'P') /* NXP NEOISP Parameters */
> +#define V4L2_META_FMT_NEO_ISP_EXT_PARAMS	v4l2_fourcc('N', 'N', 'E', 'P') /* NXP NEOISP Ext Params */
> +#define V4L2_META_FMT_NEO_ISP_STATS		v4l2_fourcc('N', 'N', 'I', 'S') /* NXP NEOISP Statistics */
> +#define V4L2_META_FMT_NEO_ISP_EXT_STATS		v4l2_fourcc('N', 'N', 'E', 'S') /* NXP NEOISP Ext Stats */
> +
>  #ifdef __KERNEL__
>  /*
>   * Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when
> --
> 2.52.0
>
>
Re: Re: [RFC v1 07/11] media: Add meta formats supported by NXP neoisp driver
Posted by Antoine Bouyer 5 days, 1 hour ago
Hi Jacopo

Le 03/02/2026 à 18:11, Jacopo Mondi a écrit :
> 
> Hi Antoine
> 
> On Fri, Jan 23, 2026 at 09:09:34AM +0100, Antoine Bouyer wrote:
>> This patch adds new v4l2 meta formats definitions and descriptions used by
>> neoisp driver for the parameters and statistics buffers:
>>   - `V4L2_META_FMT_NEO_ISP_PARAMS` used for the legacy fixed-size
>> parameters buffer structure.
>>   - `V4L2_META_FMT_NEO_ISP_EXT_PARAMS` used for the generic v4l2-isp
>> extensible parameters structure, supporting a non-fixed-size buffer and
>> changeable ISP configuration blocks.
>>   - `V4L2_META_FMT_NEO_ISP_STATS` used for the legacy fixed-size statistics
>> buffer structure.
>>   - `V4L2_META_FMT_NEO_ISP_EXT_STATS` used for the generic v4l2-isp
>> extensible statistics structure, supporting a non-fixed-size buffer
>> and changeable ISP statistics blocks.
> 
> Uh interesting, you have existing userspace that needs legacy formats ?

Yes we do have some available here (version with extensible formats will 
be the next one):
https://github.com/nxp-imx/libcamera

Not in mainline, thought.

BR
Antoine

> 
>>
>> Signed-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>
>> ---
>>   drivers/media/v4l2-core/v4l2-ioctl.c | 4 ++++
>>   include/uapi/linux/videodev2.h       | 6 ++++++
>>   2 files changed, 10 insertions(+)
>>
>> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
>> index 37d33d4a363d..c797cf11be38 100644
>> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
>> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
>> @@ -1471,6 +1471,10 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
>>        case V4L2_META_FMT_C3ISP_STATS:         descr = "Amlogic C3 ISP Statistics"; break;
>>        case V4L2_META_FMT_MALI_C55_PARAMS:     descr = "ARM Mali-C55 ISP Parameters"; break;
>>        case V4L2_META_FMT_MALI_C55_STATS:      descr = "ARM Mali-C55 ISP 3A Statistics"; break;
>> +     case V4L2_META_FMT_NEO_ISP_PARAMS:      descr = "NXP Neo ISP 3A Parameters"; break;
>> +     case V4L2_META_FMT_NEO_ISP_EXT_PARAMS:  descr = "NXP Neo ISP ext 3A Parameters"; break;
>> +     case V4L2_META_FMT_NEO_ISP_STATS:       descr = "NXP Neo ISP 3A Statistics"; break;
>> +     case V4L2_META_FMT_NEO_ISP_EXT_STATS:   descr = "NXP Neo ISP ext 3A Statistics"; break;
>>        case V4L2_PIX_FMT_NV12_8L128:   descr = "NV12 (8x128 Linear)"; break;
>>        case V4L2_PIX_FMT_NV12M_8L128:  descr = "NV12M (8x128 Linear)"; break;
>>        case V4L2_PIX_FMT_NV12_10BE_8L128:      descr = "10-bit NV12 (8x128 Linear, BE)"; break;
>> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
>> index 848e86617d5c..5f4992452c66 100644
>> --- a/include/uapi/linux/videodev2.h
>> +++ b/include/uapi/linux/videodev2.h
>> @@ -889,6 +889,12 @@ struct v4l2_pix_format {
>>   #define V4L2_META_FMT_MALI_C55_PARAMS        v4l2_fourcc('C', '5', '5', 'P') /* ARM Mali-C55 Parameters */
>>   #define V4L2_META_FMT_MALI_C55_STATS v4l2_fourcc('C', '5', '5', 'S') /* ARM Mali-C55 3A Statistics */
>>
>> +/* Vendor specific - used for NXP NEOISP sub-system */
>> +#define V4L2_META_FMT_NEO_ISP_PARAMS         v4l2_fourcc('N', 'N', 'I', 'P') /* NXP NEOISP Parameters */
>> +#define V4L2_META_FMT_NEO_ISP_EXT_PARAMS     v4l2_fourcc('N', 'N', 'E', 'P') /* NXP NEOISP Ext Params */
>> +#define V4L2_META_FMT_NEO_ISP_STATS          v4l2_fourcc('N', 'N', 'I', 'S') /* NXP NEOISP Statistics */
>> +#define V4L2_META_FMT_NEO_ISP_EXT_STATS              v4l2_fourcc('N', 'N', 'E', 'S') /* NXP NEOISP Ext Stats */
>> +
>>   #ifdef __KERNEL__
>>   /*
>>    * Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when
>> --
>> 2.52.0
>>
>>

Re: [RFC v1 07/11] media: Add meta formats supported by NXP neoisp driver
Posted by Jacopo Mondi 5 days, 1 hour ago
Hi Antoine

On Wed, Feb 04, 2026 at 02:31:47PM +0100, Antoine Bouyer wrote:
> Hi Jacopo
>
> Le 03/02/2026 à 18:11, Jacopo Mondi a écrit :
> >
> > Hi Antoine
> >
> > On Fri, Jan 23, 2026 at 09:09:34AM +0100, Antoine Bouyer wrote:
> > > This patch adds new v4l2 meta formats definitions and descriptions used by
> > > neoisp driver for the parameters and statistics buffers:
> > >   - `V4L2_META_FMT_NEO_ISP_PARAMS` used for the legacy fixed-size
> > > parameters buffer structure.
> > >   - `V4L2_META_FMT_NEO_ISP_EXT_PARAMS` used for the generic v4l2-isp
> > > extensible parameters structure, supporting a non-fixed-size buffer and
> > > changeable ISP configuration blocks.
> > >   - `V4L2_META_FMT_NEO_ISP_STATS` used for the legacy fixed-size statistics
> > > buffer structure.
> > >   - `V4L2_META_FMT_NEO_ISP_EXT_STATS` used for the generic v4l2-isp
> > > extensible statistics structure, supporting a non-fixed-size buffer
> > > and changeable ISP statistics blocks.
> >
> > Uh interesting, you have existing userspace that needs legacy formats ?
>
> Yes we do have some available here (version with extensible formats will be
> the next one):
> https://github.com/nxp-imx/libcamera
>
> Not in mainline, thought.

I see.

However I don't think the mainline driver should support both formats.

And looking at your libcamera branch, it seem it already supports the
extensible version.


>
> BR
> Antoine
>
> >
> > >
> > > Signed-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>
> > > ---
> > >   drivers/media/v4l2-core/v4l2-ioctl.c | 4 ++++
> > >   include/uapi/linux/videodev2.h       | 6 ++++++
> > >   2 files changed, 10 insertions(+)
> > >
> > > diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
> > > index 37d33d4a363d..c797cf11be38 100644
> > > --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> > > +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> > > @@ -1471,6 +1471,10 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
> > >        case V4L2_META_FMT_C3ISP_STATS:         descr = "Amlogic C3 ISP Statistics"; break;
> > >        case V4L2_META_FMT_MALI_C55_PARAMS:     descr = "ARM Mali-C55 ISP Parameters"; break;
> > >        case V4L2_META_FMT_MALI_C55_STATS:      descr = "ARM Mali-C55 ISP 3A Statistics"; break;
> > > +     case V4L2_META_FMT_NEO_ISP_PARAMS:      descr = "NXP Neo ISP 3A Parameters"; break;
> > > +     case V4L2_META_FMT_NEO_ISP_EXT_PARAMS:  descr = "NXP Neo ISP ext 3A Parameters"; break;
> > > +     case V4L2_META_FMT_NEO_ISP_STATS:       descr = "NXP Neo ISP 3A Statistics"; break;
> > > +     case V4L2_META_FMT_NEO_ISP_EXT_STATS:   descr = "NXP Neo ISP ext 3A Statistics"; break;
> > >        case V4L2_PIX_FMT_NV12_8L128:   descr = "NV12 (8x128 Linear)"; break;
> > >        case V4L2_PIX_FMT_NV12M_8L128:  descr = "NV12M (8x128 Linear)"; break;
> > >        case V4L2_PIX_FMT_NV12_10BE_8L128:      descr = "10-bit NV12 (8x128 Linear, BE)"; break;
> > > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> > > index 848e86617d5c..5f4992452c66 100644
> > > --- a/include/uapi/linux/videodev2.h
> > > +++ b/include/uapi/linux/videodev2.h
> > > @@ -889,6 +889,12 @@ struct v4l2_pix_format {
> > >   #define V4L2_META_FMT_MALI_C55_PARAMS        v4l2_fourcc('C', '5', '5', 'P') /* ARM Mali-C55 Parameters */
> > >   #define V4L2_META_FMT_MALI_C55_STATS v4l2_fourcc('C', '5', '5', 'S') /* ARM Mali-C55 3A Statistics */
> > >
> > > +/* Vendor specific - used for NXP NEOISP sub-system */
> > > +#define V4L2_META_FMT_NEO_ISP_PARAMS         v4l2_fourcc('N', 'N', 'I', 'P') /* NXP NEOISP Parameters */
> > > +#define V4L2_META_FMT_NEO_ISP_EXT_PARAMS     v4l2_fourcc('N', 'N', 'E', 'P') /* NXP NEOISP Ext Params */
> > > +#define V4L2_META_FMT_NEO_ISP_STATS          v4l2_fourcc('N', 'N', 'I', 'S') /* NXP NEOISP Statistics */
> > > +#define V4L2_META_FMT_NEO_ISP_EXT_STATS              v4l2_fourcc('N', 'N', 'E', 'S') /* NXP NEOISP Ext Stats */
> > > +
> > >   #ifdef __KERNEL__
> > >   /*
> > >    * Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when
> > > --
> > > 2.52.0
> > >
> > >
>
Re: Re: [RFC v1 07/11] media: Add meta formats supported by NXP neoisp driver
Posted by Antoine Bouyer 5 days, 1 hour ago
Hi Jacopo

Le 04/02/2026 à 14:36, Jacopo Mondi a écrit :
> 
> Hi Antoine
> 
> On Wed, Feb 04, 2026 at 02:31:47PM +0100, Antoine Bouyer wrote:
>> Hi Jacopo
>>
>> Le 03/02/2026 à 18:11, Jacopo Mondi a écrit :
>>>
>>> Hi Antoine
>>>
>>> On Fri, Jan 23, 2026 at 09:09:34AM +0100, Antoine Bouyer wrote:
>>>> This patch adds new v4l2 meta formats definitions and descriptions used by
>>>> neoisp driver for the parameters and statistics buffers:
>>>>    - `V4L2_META_FMT_NEO_ISP_PARAMS` used for the legacy fixed-size
>>>> parameters buffer structure.
>>>>    - `V4L2_META_FMT_NEO_ISP_EXT_PARAMS` used for the generic v4l2-isp
>>>> extensible parameters structure, supporting a non-fixed-size buffer and
>>>> changeable ISP configuration blocks.
>>>>    - `V4L2_META_FMT_NEO_ISP_STATS` used for the legacy fixed-size statistics
>>>> buffer structure.
>>>>    - `V4L2_META_FMT_NEO_ISP_EXT_STATS` used for the generic v4l2-isp
>>>> extensible statistics structure, supporting a non-fixed-size buffer
>>>> and changeable ISP statistics blocks.
>>>
>>> Uh interesting, you have existing userspace that needs legacy formats ?
>>
>> Yes we do have some available here (version with extensible formats will be
>> the next one):
>> https://github.com/nxp-imx/libcamera
>>
>> Not in mainline, thought.
> 
> I see.
> 
> However I don't think the mainline driver should support both formats.

ok.

I'm fine with starting from a fresh version, extensible-format-only, in 
mainline. That would also simplify the patch series then, so as 
Documentation, and maintainance.

> 
> And looking at your libcamera branch, it seem it already supports the
> extensible version.
> 

Oh yes you're correct. I thought it started from 6.18, sorry for 
confusion. One more reason to move to extensible-format-only in mainline 
then: it is verified since a while without any regression compared to 
legacy.

BR
Antoine

> 
>>
>> BR
>> Antoine
>>
>>>
>>>>
>>>> Signed-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>
>>>> ---
>>>>    drivers/media/v4l2-core/v4l2-ioctl.c | 4 ++++
>>>>    include/uapi/linux/videodev2.h       | 6 ++++++
>>>>    2 files changed, 10 insertions(+)
>>>>
>>>> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
>>>> index 37d33d4a363d..c797cf11be38 100644
>>>> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
>>>> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
>>>> @@ -1471,6 +1471,10 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
>>>>         case V4L2_META_FMT_C3ISP_STATS:         descr = "Amlogic C3 ISP Statistics"; break;
>>>>         case V4L2_META_FMT_MALI_C55_PARAMS:     descr = "ARM Mali-C55 ISP Parameters"; break;
>>>>         case V4L2_META_FMT_MALI_C55_STATS:      descr = "ARM Mali-C55 ISP 3A Statistics"; break;
>>>> +     case V4L2_META_FMT_NEO_ISP_PARAMS:      descr = "NXP Neo ISP 3A Parameters"; break;
>>>> +     case V4L2_META_FMT_NEO_ISP_EXT_PARAMS:  descr = "NXP Neo ISP ext 3A Parameters"; break;
>>>> +     case V4L2_META_FMT_NEO_ISP_STATS:       descr = "NXP Neo ISP 3A Statistics"; break;
>>>> +     case V4L2_META_FMT_NEO_ISP_EXT_STATS:   descr = "NXP Neo ISP ext 3A Statistics"; break;
>>>>         case V4L2_PIX_FMT_NV12_8L128:   descr = "NV12 (8x128 Linear)"; break;
>>>>         case V4L2_PIX_FMT_NV12M_8L128:  descr = "NV12M (8x128 Linear)"; break;
>>>>         case V4L2_PIX_FMT_NV12_10BE_8L128:      descr = "10-bit NV12 (8x128 Linear, BE)"; break;
>>>> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
>>>> index 848e86617d5c..5f4992452c66 100644
>>>> --- a/include/uapi/linux/videodev2.h
>>>> +++ b/include/uapi/linux/videodev2.h
>>>> @@ -889,6 +889,12 @@ struct v4l2_pix_format {
>>>>    #define V4L2_META_FMT_MALI_C55_PARAMS        v4l2_fourcc('C', '5', '5', 'P') /* ARM Mali-C55 Parameters */
>>>>    #define V4L2_META_FMT_MALI_C55_STATS v4l2_fourcc('C', '5', '5', 'S') /* ARM Mali-C55 3A Statistics */
>>>>
>>>> +/* Vendor specific - used for NXP NEOISP sub-system */
>>>> +#define V4L2_META_FMT_NEO_ISP_PARAMS         v4l2_fourcc('N', 'N', 'I', 'P') /* NXP NEOISP Parameters */
>>>> +#define V4L2_META_FMT_NEO_ISP_EXT_PARAMS     v4l2_fourcc('N', 'N', 'E', 'P') /* NXP NEOISP Ext Params */
>>>> +#define V4L2_META_FMT_NEO_ISP_STATS          v4l2_fourcc('N', 'N', 'I', 'S') /* NXP NEOISP Statistics */
>>>> +#define V4L2_META_FMT_NEO_ISP_EXT_STATS              v4l2_fourcc('N', 'N', 'E', 'S') /* NXP NEOISP Ext Stats */
>>>> +
>>>>    #ifdef __KERNEL__
>>>>    /*
>>>>     * Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when
>>>> --
>>>> 2.52.0
>>>>
>>>>
>>