Re: [PATCH] media: uapi: v4l: Don't expose generic metadata formats to userspace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 29, 2024 at 10:05:15AM +0300, Tomi Valkeinen wrote:
> On 26/04/2024 18:33, Laurent Pinchart wrote:
> > The generic metadata pixel formats (V4L2_META_FMT_GENERIC_*) are meant
> > to be used in conjunction with device-specific media bus codes. Those
> > codes are work in progress and not available in the upstream kernel yet.
> > To make sure the generic metadata pixel formats won't be used by
> > userspace until we have the full infrastructure in place, keep their
> > definition private to the kernel for now.
> 
> Does it matter? How can the userspace use the generic formats, if no 
> driver provides them?

I agree with you, but this series generated some level of discomfort and
voices were raised that the generic formats could be abused. Sakari and
I don't believe that's the case, but because only part of the puzzle has
been submitted for v6.10 (the device-specific media bus codes will be
for v6.11 - if all goes well), I can understand that the big picture may
appear a bit confusing for people who haven't followed the development.

I expect this patch to be reverted for v6.11.

> > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> > ---
> > This patch can be squashed with "[PATCH v3 05/14] media: uapi: v4l: Add
> > generic 8-bit metadata format definitions" or kept separate.
> > ---
> >   include/uapi/linux/videodev2.h | 2 ++
> >   1 file changed, 2 insertions(+)
> > 
> > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> > index f74aca14044f..1c0bb4f9ecac 100644
> > --- a/include/uapi/linux/videodev2.h
> > +++ b/include/uapi/linux/videodev2.h
> > @@ -842,6 +842,7 @@ struct v4l2_pix_format {
> >   #define V4L2_META_FMT_RK_ISP1_PARAMS	v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */
> >   #define V4L2_META_FMT_RK_ISP1_STAT_3A	v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A Statistics */
> >   
> > +#ifdef __KERNEL__
> >   /*
> >    * Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when
> >    * adding new ones!
> > @@ -853,6 +854,7 @@ struct v4l2_pix_format {
> >   #define V4L2_META_FMT_GENERIC_CSI2_16	v4l2_fourcc('M', 'C', '1', 'G') /* 16-bit CSI-2 packed 8-bit metadata */
> >   #define V4L2_META_FMT_GENERIC_CSI2_20	v4l2_fourcc('M', 'C', '1', 'K') /* 20-bit CSI-2 packed 8-bit metadata */
> >   #define V4L2_META_FMT_GENERIC_CSI2_24	v4l2_fourcc('M', 'C', '1', 'O') /* 24-bit CSI-2 packed 8-bit metadata */
> > +#endif
> >   
> >   /* priv field value to indicates that subsequent fields are valid. */
> >   #define V4L2_PIX_FMT_PRIV_MAGIC		0xfeedcafe
> > 
> > base-commit: 5a6272f644afa3db2f00e77ff8b0ea9df51ea875

-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux