linux/Documentation/userspace-api/media/v4l
Ricardo Ribalda 2ab4019aa3 media: uvcvideo: Introduce V4L2_META_FMT_UVC_MSXU_1_5
The UVC driver provides two metadata types V4L2_META_FMT_UVC, and
V4L2_META_FMT_D4XX. The only difference between the two of them is that
V4L2_META_FMT_UVC only copies PTS, SCR, size and flags, and
V4L2_META_FMT_D4XX copies the whole metadata section.

Now we only enable V4L2_META_FMT_D4XX for the Intel D4xx family of
devices, but it is useful to have the whole metadata payload for any
device where vendors include other metadata, such as the one described by
Microsoft:
https://learn.microsoft.com/en-us/windows-hardware/drivers/stream/mf-capture-metadata

This patch introduces a new format V4L2_META_FMT_UVC_MSXU_1_5, that is
identical to V4L2_META_FMT_D4XX.

Let the user enable this format with a quirk for now. This way they can
test if their devices provide useful metadata without rebuilding the
kernel. They can later contribute patches to auto-quirk their devices.
We will also work in methods to auto-detect devices compatible with this
new metadata format.

Suggested-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://lore.kernel.org/r/20250707-uvc-meta-v8-4-ed17f8b1218b@chromium.org
Signed-off-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2025-07-11 19:27:30 +02:00
..
app-pri.rst
audio.rst
bayer.svg
biblio.rst media: Documentation: Improve grammar, formatting in Video4Linux 2025-06-30 09:06:21 +02:00
buffer.rst Documentation: media: move Memory Consistency Flags 2024-08-09 07:56:38 +02:00
capture-example.rst
capture.c.rst media: docs: Fix newline typos in capture.c 2024-08-09 07:56:38 +02:00
colorspaces-defs.rst
colorspaces-details.rst
colorspaces.rst
common-defs.rst
common.rst
compat.rst
constraints.svg
control.rst Documentation: media: improve V4L2_CID_MIN_BUFFERS_FOR_*, doc 2024-11-08 13:38:06 +01:00
crop.rst
crop.svg
depth-formats.rst
dev-capture.rst
dev-decoder.rst media: doc: codec: Rename "Return fields" to "Returned fields" for consistency 2023-08-10 07:58:36 +02:00
dev-encoder.rst media: doc: dev-encoder: Fixup type for ENUM_FRAMEINTERVALS 2023-08-10 07:58:36 +02:00
dev-event.rst
dev-mem2mem.rst
dev-meta.rst media: v4l: Support line-based metadata capture 2024-04-29 14:56:36 +02:00
dev-osd.rst
dev-output.rst
dev-overlay.rst media: Documentation: userspace-api: media: drop clipping, destructive overlays 2023-03-20 00:33:53 +01:00
dev-radio.rst
dev-raw-vbi.rst
dev-rds.rst
dev-sdr.rst
dev-sliced-vbi.rst media: Documentation: Improve grammar, formatting in Video4Linux 2025-06-30 09:06:21 +02:00
dev-stateless-decoder.rst media: doc: codec: Rename "Return fields" to "Returned fields" for consistency 2023-08-10 07:58:36 +02:00
dev-subdev.rst media: Documentation: v4l: Fix ACTIVE route flag 2024-05-28 08:00:14 +02:00
dev-touch.rst
devices.rst
diff-v4l.rst
dmabuf.rst
dv-timings.rst media: Documentation: dv-timings.rst: explain basic approach 2023-10-07 10:55:44 +02:00
ext-ctrls-camera.rst Documentation: v4l: Document rotation and orientation for sensor drivers 2023-05-25 16:21:21 +02:00
ext-ctrls-codec-stateless.rst Documentation: media: Fix AV1 struct documentation 2024-08-28 10:01:10 +02:00
ext-ctrls-codec.rst media: v4l2-ctrls: Add average QP control 2024-06-10 10:24:30 +02:00
ext-ctrls-colorimetry.rst
ext-ctrls-detect.rst
ext-ctrls-dv.rst
ext-ctrls-flash.rst
ext-ctrls-fm-rx.rst media: Documentation: Improve grammar, formatting in Video4Linux 2025-06-30 09:06:21 +02:00
ext-ctrls-fm-tx.rst media: Documentation: Improve grammar, formatting in Video4Linux 2025-06-30 09:06:21 +02:00
ext-ctrls-image-process.rst media: Documentation: Fix spelling of "blanking" 2024-08-09 07:56:37 +02:00
ext-ctrls-image-source.rst
ext-ctrls-jpeg.rst
ext-ctrls-rf-tuner.rst
extended-controls.rst
field-order.rst
fieldseq_bt.svg
fieldseq_tb.svg
format.rst
fourcc.rst
func-close.rst
func-ioctl.rst
func-mmap.rst
func-munmap.rst
func-open.rst doc: media: v4l/func-open.rst: ENXIO should be ENODEV 2024-04-24 13:49:55 +02:00
func-poll.rst
func-read.rst
func-select.rst
func-write.rst
hist-v4l2.rst
hsv-formats.rst
io.rst
libv4l-introduction.rst
libv4l.rst
meta-formats.rst media: uvcvideo: Introduce V4L2_META_FMT_UVC_MSXU_1_5 2025-07-11 19:27:30 +02:00
metafmt-c3-isp.rst Documentation: media: Add documentation file metafmt-c3-isp.rst 2025-05-09 12:08:37 +02:00
metafmt-d4xx.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
metafmt-generic.rst media: uapi: v4l: Add generic 8-bit metadata format definitions 2024-04-29 14:56:36 +02:00
metafmt-intel-ipu3.rst media: Documentation: Rename meta format files 2023-05-25 16:21:22 +02:00
metafmt-pisp-be.rst media: uapi: Add meta pixel format for PiSP BE config 2024-06-27 13:06:47 +02:00
metafmt-pisp-fe.rst media: uapi: Add meta formats for PiSP FE config and stats 2024-10-16 09:32:39 +02:00
metafmt-rkisp1.rst media: uapi: videodev2: Add V4L2_META_FMT_RK_ISP1_EXT_PARAMS 2024-08-12 13:36:32 +03:00
metafmt-uvc-msxu-1-5.rst media: uvcvideo: Introduce V4L2_META_FMT_UVC_MSXU_1_5 2025-07-11 19:27:30 +02:00
metafmt-uvc.rst media: Documentation: Add note about UVCH length field 2025-07-11 19:27:29 +02:00
metafmt-vivid.rst media: Documentation: Rename meta format files 2023-05-25 16:21:22 +02:00
metafmt-vsp1-hgo.rst media: Documentation: Rename meta format files 2023-05-25 16:21:22 +02:00
metafmt-vsp1-hgt.rst media: Documentation: Rename meta format files 2023-05-25 16:21:22 +02:00
mmap.rst media: docs: Fix mem_offset name in multiplane example 2024-04-08 13:48:19 +02:00
mt2110t.svg docs: uapi: media: Add a layout diagram for MT2110T 2024-08-14 10:05:32 +02:00
nv12mt_example.svg
nv12mt.svg
open.rst
pipeline.dot
pixfmt-bayer.rst media: v4l2: Add Renesas Camera Receiver Unit pixel formats 2025-07-03 09:04:14 +02:00
pixfmt-cnf4.rst
pixfmt-compressed.rst media: Add AV1 uAPI 2023-06-09 16:13:01 +01:00
pixfmt-indexed.rst
pixfmt-intro.rst
pixfmt-inzi.rst
pixfmt-m420.rst
pixfmt-packed-hsv.rst
pixfmt-packed-yuv.rst media: Add YUV48_12 video format 2023-04-15 09:10:27 +01:00
pixfmt-rawnn-cru.rst media: v4l2: Add Renesas Camera Receiver Unit pixel formats 2025-07-03 09:04:14 +02:00
pixfmt-reserved.rst docs: uapi: media: Document Mediatek 10bit tiled formats 2024-08-14 10:05:32 +02:00
pixfmt-rgb.rst media: uapi: Add a pixel format for BGR48 and RGB48 2024-06-27 13:06:47 +02:00
pixfmt-sdr-cs08.rst
pixfmt-sdr-cs14le.rst
pixfmt-sdr-cu08.rst
pixfmt-sdr-cu16le.rst
pixfmt-sdr-pcu16be.rst
pixfmt-sdr-pcu18be.rst
pixfmt-sdr-pcu20be.rst
pixfmt-sdr-ru12le.rst
pixfmt-srggb8-pisp-comp.rst media: uapi: Add PiSP Compressed RAW Bayer formats 2024-06-27 13:06:47 +02:00
pixfmt-srggb8.rst
pixfmt-srggb10-ipu3.rst
pixfmt-srggb10.rst
pixfmt-srggb10alaw8.rst
pixfmt-srggb10dpcm8.rst
pixfmt-srggb10p.rst
pixfmt-srggb12.rst
pixfmt-srggb12p.rst media: Documentation: Improve grammar, formatting in Video4Linux 2025-06-30 09:06:21 +02:00
pixfmt-srggb14.rst
pixfmt-srggb14p.rst media: Documentation: Improve grammar, formatting in Video4Linux 2025-06-30 09:06:21 +02:00
pixfmt-srggb16.rst
pixfmt-tch-td08.rst
pixfmt-tch-td16.rst
pixfmt-tch-tu08.rst
pixfmt-tch-tu16.rst
pixfmt-uv8.rst
pixfmt-v4l2-mplane.rst
pixfmt-v4l2.rst
pixfmt-y8i.rst
pixfmt-y12i.rst
pixfmt-y16i.rst media: v4l: Add luma 16-bit interlaced pixel format 2024-10-08 16:04:44 +02:00
pixfmt-yuv-luma.rst media: v4l: Fix missing tabular column hint for Y14P format 2024-07-30 08:36:29 +02:00
pixfmt-yuv-planar.rst media: v4l2: Add NV15 and NV20 pixel formats 2025-04-08 07:21:21 +00:00
pixfmt-z16.rst
pixfmt.rst
planar-apis.rst
querycap.rst
rw.rst
sdr-formats.rst
selection-api-configuration.rst
selection-api-examples.rst
selection-api-intro.rst
selection-api-targets.rst
selection-api-vs-crop-api.rst
selection-api.rst
selection.svg
selections-common.rst
standard.rst
streaming-par.rst
subdev-formats.rst media: uapi: Add MEDIA_BUS_FMT_RGB101010_1X7X5_{SPWG, JEIDA} 2024-11-05 13:26:42 +02:00
subdev-image-processing-crop.svg
subdev-image-processing-full.svg
subdev-image-processing-scaling-multi-source.svg
tch-formats.rst
tuner.rst
user-func.rst media: v4l2: Add REMOVE_BUFS ioctl 2024-03-25 12:00:44 +01:00
userp.rst
v4l2-selection-flags.rst
v4l2-selection-targets.rst
v4l2.rst media: doc: properly format ToC headings 2023-11-17 13:05:26 -07:00
v4l2grab-example.rst
v4l2grab.c.rst
vbi_525.svg
vbi_625.svg
vbi_hsync.svg
video.rst
videodev.rst
vidioc-create-bufs.rst media: core: Report the maximum possible number of buffers for the queue 2023-11-23 12:38:05 +01:00
vidioc-cropcap.rst
vidioc-dbg-g-chip-info.rst
vidioc-dbg-g-register.rst
vidioc-decoder-cmd.rst
vidioc-dqevent.rst
vidioc-dv-timings-cap.rst
vidioc-encoder-cmd.rst
vidioc-enum-dv-timings.rst
vidioc-enum-fmt.rst media: videodev2: Add flag to unconditionally enumerate pixel formats 2024-10-12 19:56:16 +02:00
vidioc-enum-frameintervals.rst
vidioc-enum-framesizes.rst
vidioc-enum-freq-bands.rst
vidioc-enumaudio.rst
vidioc-enumaudioout.rst
vidioc-enuminput.rst
vidioc-enumoutput.rst
vidioc-enumstd.rst
vidioc-expbuf.rst
vidioc-g-audio.rst
vidioc-g-audioout.rst
vidioc-g-crop.rst
vidioc-g-ctrl.rst
vidioc-g-dv-timings.rst
vidioc-g-edid.rst
vidioc-g-enc-index.rst
vidioc-g-ext-ctrls.rst media: v4l2-ctrls: add support for V4L2_CTRL_WHICH_MIN/MAX_VAL 2025-03-03 18:23:35 +01:00
vidioc-g-fbuf.rst media: Documentation: userspace-api: media: drop clipping, destructive overlays 2023-03-20 00:33:53 +01:00
vidioc-g-fmt.rst
vidioc-g-frequency.rst
vidioc-g-input.rst
vidioc-g-jpegcomp.rst
vidioc-g-modulator.rst
vidioc-g-output.rst
vidioc-g-parm.rst
vidioc-g-priority.rst
vidioc-g-selection.rst
vidioc-g-sliced-vbi-cap.rst
vidioc-g-std.rst
vidioc-g-tuner.rst
vidioc-log-status.rst
vidioc-overlay.rst
vidioc-prepare-buf.rst
vidioc-qbuf.rst
vidioc-query-dv-timings.rst
vidioc-querybuf.rst
vidioc-querycap.rst media: docs: Add V4L2_CAP_EDID 2024-09-05 20:11:28 +02:00
vidioc-queryctrl.rst media: v4l2-ctrls: add support for V4L2_CTRL_WHICH_MIN/MAX_VAL 2025-03-03 18:23:35 +01:00
vidioc-querystd.rst
vidioc-remove-bufs.rst media: v4l2: Add REMOVE_BUFS ioctl 2024-03-25 12:00:44 +01:00
vidioc-reqbufs.rst Documentation: media: move Memory Consistency Flags 2024-08-09 07:56:38 +02:00
vidioc-s-hw-freq-seek.rst
vidioc-streamon.rst
vidioc-subdev-enum-frame-interval.rst media: docs: uAPI: Expand error documentation for invalid 'which' value 2023-12-13 16:52:35 +01:00
vidioc-subdev-enum-frame-size.rst media: docs: uAPI: Expand error documentation for invalid 'which' value 2023-12-13 16:52:35 +01:00
vidioc-subdev-enum-mbus-code.rst media: docs: uAPI: Expand error documentation for invalid 'which' value 2023-12-13 16:52:35 +01:00
vidioc-subdev-g-client-cap.rst media: vidioc-subdev-g-client-cap.rst: document struct v4l2_subdev_client_capability 2024-02-05 12:57:44 +01:00
vidioc-subdev-g-crop.rst media: v4l2-subdev: Clearly document that the crop API won't be extended 2024-04-29 14:56:36 +02:00
vidioc-subdev-g-fmt.rst media: docs: uAPI: Clarify error documentation for invalid 'which' value 2023-12-13 16:52:35 +01:00
vidioc-subdev-g-frame-interval.rst media: docs: uAPI: Clarify error documentation for invalid 'which' value 2023-12-13 16:52:35 +01:00
vidioc-subdev-g-routing.rst media: v4l: subdev: Return routes set using S_ROUTING 2024-04-29 14:56:37 +02:00
vidioc-subdev-g-selection.rst media: docs: uAPI: Clarify error documentation for invalid 'which' value 2023-12-13 16:52:35 +01:00
vidioc-subdev-querycap.rst
vidioc-subscribe-event.rst
yuv-formats.rst media: v4l: Add luma 16-bit interlaced pixel format 2024-10-08 16:04:44 +02:00