media: uvcvideo: Add a metadata device node
authorGuennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Wed, 6 Dec 2017 15:15:40 +0000 (10:15 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Thu, 4 Jan 2018 11:41:47 +0000 (06:41 -0500)
commit088ead25524583e2200aa99111bea2f66a86545a
tree39118e9e19ec50e11c16583cb502b2097a6a96dc
parent3bc85817d7982ed53fbc9b150b0205beff68ca5c
media: uvcvideo: Add a metadata device node

Some UVC video cameras contain metadata in their payload headers. This
patch extracts that data, adding more clock synchronisation information,
on both bulk and isochronous endpoints and makes it available to the user
space on a separate video node, using the V4L2_CAP_META_CAPTURE capability
and the V4L2_BUF_TYPE_META_CAPTURE buffer queue type. By default, only the
V4L2_META_FMT_UVC pixel format is available from those nodes. However,
cameras can be added to the device ID table to additionally specify their
own metadata format, in which case that format will also become available
from the metadata node.

[Use put_unaligned instead of __put_unaligned_cpu64]
[Use put_unaligned for the sof field as well]

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/usb/uvc/Makefile
drivers/media/usb/uvc/uvc_driver.c
drivers/media/usb/uvc/uvc_isight.c
drivers/media/usb/uvc/uvc_metadata.c [new file with mode: 0644]
drivers/media/usb/uvc/uvc_queue.c
drivers/media/usb/uvc/uvc_video.c
drivers/media/usb/uvc/uvcvideo.h
include/uapi/linux/uvcvideo.h