• Home
  • Raw
  • Download

Lines Matching +full:os +full:- +full:data +full:- +full:offset

1 .. SPDX-License-Identifier: GPL-2.0
6 This file documents some driver-specific aspects of the UVC driver, such as
7 driver-specific ioctls and implementation notes.
10 linux-media@vger.kernel.org.
14 ---------------------------
19 The UVC specification allows for vendor-specific extensions through extension
23 - through mappings of XU controls to V4L2 controls
24 - through a driver-specific ioctl interface
30 The second mechanism requires uvcvideo-specific knowledge for the application to
40 The UVC driver provides an API for user space applications to define so-called
61 access XU controls is provided in the form of a driver-specific ioctl, namely
65 directly map to the low-level UVC control requests.
92 The API doesn't currently provide a fine-grained access control facility. The
109 UVCIOC_CTRL_MAP - Map a UVC control to a V4L2 control
118 applications can access vendor-defined UVC control through the V4L2
128 the 'size' and 'offset' fields and are then independently mapped to
136 On success 0 is returned. On error -1 is returned and errno is set
146 The requested offset and size would overflow the UVC control.
150 **Data types**:
152 .. code-block:: none
161 __u8 offset V4L2 control offset (in bits)
165 data_type UVC control data type
187 UVCIOC_CTRL_QUERY - Query a UVC XU control
197 correspond to the low-level control requests described in the UVC
221 which the size must be set to 2 and 1, respectively. The 'data' field
223 number of data bytes.
225 Data is copied directly from the device without any driver-side
226 processing. Applications are responsible for data buffer formatting,
227 including little-endian/big-endian conversion. This is particularly
229 returned as a little-endian 16-bit integer by the device.
233 On success 0 is returned. On error -1 is returned and errno is set
246 The data pointer references an inaccessible memory area.
248 **Data types**:
250 .. code-block:: none
257 __u16 size Control data size (in bytes)
258 __u8 *data Control value
261 Driver-specific V4L2 controls
262 -----------------------------
264 The uvcvideo driver implements the following UVC-specific controls:
281 `Chrome OS USB camera HAL.
282 …<https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/release-R121-15699.B/camera/h…
286 This determines which, if any, on-board features should track to the
292 .. flat-table::
293 :header-rows: 0
294 :stub-columns: 0
296 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_EXPOSURE``
297 - Setting this bit causes automatic exposure to track the region of
299 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_IRIS``
300 - Setting this bit causes automatic iris to track the region of interest
302 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_WHITE_BALANCE``
303 - Setting this bit causes automatic white balance to track the region
305 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_FOCUS``
306 - Setting this bit causes automatic focus adjustment to track the region
308 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_FACE_DETECT``
309 - Setting this bit causes automatic face detection to track the region of
311 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_DETECT_AND_TRACK``
312 - Setting this bit enables automatic face detection and tracking. The
315 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_IMAGE_STABILIZATION``
316 - Setting this bit enables automatic image stabilization. The
319 * - ``V4L2_UVC_REGION_OF_INTEREST_AUTO_HIGHER_QUALITY``
320 - Setting this bit enables automatically capture the specified region