[PATCH v2] uvc: Intel PID enabling UVC Metadata attributes

From: Dmitry Perchanov
Date: Wed Apr 19 2023 - 09:31:53 EST


Hi again.
I resend this reply with links instead of attachments.
Links expires: 2023-07-18
405: https://paste.debian.net/1277799/
415: https://paste.debian.net/1277802/
430: https://paste.debian.net/1277803/
435: https://paste.debian.net/1277804/
435i: https://paste.debian.net/1277805/
455: https://paste.debian.net/1277806/

Regards,
Dmitry P.

On Wed, 2023-04-19 at 14:55 +0300, Dmitry Perchanov wrote:
> Hi.
> We have extended information about frame within metadata.
> This information contains, generally,
> hardware timestamp, frame number,
> image sensor attributes and configuration,
> firmware metrics etc.
>
> You can follow source of RealSense SDK
> https://github.com/IntelRealSense/librealsense/blob/master/src/metadata.h
>
> Please see attachments for lsusb for cameras:
> 405.0b5b.lsusb.txt
> 415.0ad3.lsusb.txt
> 430.0ad6.lsusb.txt
> 435.0b07.lsusb.txt
> 435i.0b3a.lsusb.txt
> 455.0b5c.lsusb.txt
>
>
> All these cameras are multiple sensors USB cameras,
> they are similar to already present 0x0b03 at uvc_driver.c
>
> Regards,
> Dmitry.
>
> On Wed, 2023-04-19 at 12:12 +0300, Sakari Ailus wrote:
> > Hi Dmitry,
> >
> > On Sun, Jan 29, 2023 at 03:43:38PM +0200, Dmitry Perchanov wrote:
> > > Intel RealSense UVC cameras Metadata support.
> >
> > Could you list the individual devices here, and what does this metadata
> > contain?
> >
> > > Co-developed-by: Yu MENG <yu1.meng@xxxxxxxxx>
> > > Co-developed-by: Evgeni Raikhel <evgeni.raikhel@xxxxxxxxx>
> > > Signed-off-by: Dmitry Perchanov <dmitry.perchanov@xxxxxxxxx>
> > > ---
> > > drivers/media/usb/uvc/uvc_driver.c | 72 ++++++++++++++++++++++++++++++
> > > 1 file changed, 72 insertions(+)
> > >
> > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> > > index e4bcb5011360..955f67d9a993 100644
> > > --- a/drivers/media/usb/uvc/uvc_driver.c
> > > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > > @@ -3000,6 +3000,78 @@ static const struct usb_device_id uvc_ids[] = {
> > > .bInterfaceSubClass = 1,
> > > .bInterfaceProtocol = 0,
> > > .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D410/ASR depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0ad2,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D415/ASRC depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0ad3,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D430/AWG depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0ad4,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel Fallback USB2 Descriptor */
> >
> > Which device uses this?
> >
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0ad6,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D435/AWGC depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b07,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D435i depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b3a,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D405 Depth Camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b5b,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D455 Depth Camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b5c,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > /* Generic USB Video Class */
> > > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) },
> > > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.