Hi Yong, On Tue, Jun 6, 2017 at 5:39 AM, Yong Zhi <yong.zhi@xxxxxxxxx> wrote: > Add the IPU3 specific processing parameter format > V4L2_META_FMT_IPU3_PARAMS and metadata formats > for 3A and other statistics: Please see my comments inline. > > V4L2_META_FMT_IPU3_PARAMS > V4L2_META_FMT_IPU3_STAT_3A > V4L2_META_FMT_IPU3_STAT_DVS > V4L2_META_FMT_IPU3_STAT_LACE > > Signed-off-by: Yong Zhi <yong.zhi@xxxxxxxxx> > --- > drivers/media/v4l2-core/v4l2-ioctl.c | 4 ++++ > include/uapi/linux/videodev2.h | 6 ++++++ > 2 files changed, 10 insertions(+) [snip] > +/* Vendor specific - used for IPU3 camera sub-system */ > +#define V4L2_META_FMT_IPU3_PARAMS v4l2_fourcc('i', 'p', '3', 'p') /* IPU3 params */ > +#define V4L2_META_FMT_IPU3_STAT_3A v4l2_fourcc('i', 'p', '3', 's') /* IPU3 3A statistics */ > +#define V4L2_META_FMT_IPU3_STAT_DVS v4l2_fourcc('i', 'p', '3', 'd') /* IPU3 DVS statistics */ > +#define V4L2_META_FMT_IPU3_STAT_LACE v4l2_fourcc('i', 'p', '3', 'l') /* IPU3 LACE statistics */ We had some discussion about this with Laurent and if I remember correctly, the conclusion was that it might make sense to define one FourCC for a vendor specific format, ('v', 'n', 'd', 'r') for example, and then have a V4L2-specific enum within the v4l2_pix_format(_mplane) struct that specifies the exact vendor data type. It seems saner than assigning a new FourCC whenever a new hardware revision comes out, especially given that FourCCs tend to be used outside of the V4L2 world as well and being kind of (de facto) standardized (with existing exceptions, unfortunately). Best regards, Tomasz