0001 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
0002
0003 .. _v4l2-meta-fmt-uvc:
0004
0005 *******************************
0006 V4L2_META_FMT_UVC ('UVCH')
0007 *******************************
0008
0009 UVC Payload Header Data
0010
0011
0012 Description
0013 ===========
0014
0015 This format describes standard UVC metadata, extracted from UVC packet headers
0016 and provided by the UVC driver through metadata video nodes. That data includes
0017 exact copies of the standard part of UVC Payload Header contents and auxiliary
0018 timing information, required for precise interpretation of timestamps, contained
0019 in those headers. See section "2.4.3.3 Video and Still Image Payload Headers" of
0020 the "UVC 1.5 Class specification" for details.
0021
0022 Each UVC payload header can be between 2 and 12 bytes large. Buffers can
0023 contain multiple headers, if multiple such headers have been transmitted by the
0024 camera for the respective frame. However, the driver may drop headers when the
0025 buffer is full, when they contain no useful information (e.g. those without the
0026 SCR field or with that field identical to the previous header), or generally to
0027 perform rate limiting when the device sends a large number of headers.
0028
0029 Each individual block contains the following fields:
0030
0031 .. flat-table:: UVC Metadata Block
0032 :widths: 1 4
0033 :header-rows: 1
0034 :stub-columns: 0
0035
0036 * - Field
0037 - Description
0038 * - __u64 ts;
0039 - system timestamp in host byte order, measured by the driver upon
0040 reception of the payload
0041 * - __u16 sof;
0042 - USB Frame Number in host byte order, also obtained by the driver as
0043 close as possible to the above timestamp to enable correlation between
0044 them
0045 * - :cspan:`1` *The rest is an exact copy of the UVC payload header:*
0046 * - __u8 length;
0047 - length of the rest of the block, including this field
0048 * - __u8 flags;
0049 - Flags, indicating presence of other standard UVC fields
0050 * - __u8 buf[];
0051 - The rest of the header, possibly including UVC PTS and SCR fields