Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/uapi/linux/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  uvcvideo.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __LINUX_UVCVIDEO_H_
#define __LINUX_UVCVIDEO_H_

#include <linux/ioctl.h>
#include <linux/types.h>

/*
 * Dynamic controls
 */


/* Data types for UVC control data */
#define UVC_CTRL_DATA_TYPE_RAW  0
#define UVC_CTRL_DATA_TYPE_SIGNED 1
#define UVC_CTRL_DATA_TYPE_UNSIGNED 2
#define UVC_CTRL_DATA_TYPE_BOOLEAN 3
#define UVC_CTRL_DATA_TYPE_ENUM  4
#define UVC_CTRL_DATA_TYPE_BITMASK 5
#define UVC_CTRL_DATA_TYPE_RECT  6

/* Control flags */
#define UVC_CTRL_FLAG_SET_CUR  (1 << 0)
#define UVC_CTRL_FLAG_GET_CUR  (1 << 1)
#define UVC_CTRL_FLAG_GET_MIN  (1 << 2)
#define UVC_CTRL_FLAG_GET_MAX  (1 << 3)
#define UVC_CTRL_FLAG_GET_RES  (1 << 4)
#define UVC_CTRL_FLAG_GET_DEF  (1 << 5)
/* Control should be saved at suspend and restored at resume. */
#define UVC_CTRL_FLAG_RESTORE  (1 << 6)
/* Control can be updated by the camera. */
#define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7)
/* Control supports asynchronous reporting */
#define UVC_CTRL_FLAG_ASYNCHRONOUS (1 << 8)

#define UVC_CTRL_FLAG_GET_RANGE \
 (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | \
  UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \
  UVC_CTRL_FLAG_GET_DEF)

#define UVC_MENU_NAME_LEN 32

/* V4L2 driver-specific controls */
#define V4L2_CID_UVC_REGION_OF_INTEREST_RECT (V4L2_CID_USER_UVC_BASE + 1)
#define V4L2_CID_UVC_REGION_OF_INTEREST_AUTO (V4L2_CID_USER_UVC_BASE + 2)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_EXPOSURE  (1 << 0)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_IRIS   (1 << 1)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_WHITE_BALANCE  (1 << 2)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_FOCUS   (1 << 3)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_FACE_DETECT  (1 << 4)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_DETECT_AND_TRACK (1 << 5)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_IMAGE_STABILIZATION (1 << 6)
#define V4L2_UVC_REGION_OF_INTEREST_AUTO_HIGHER_QUALITY  (1 << 7)

struct uvc_menu_info {
 __u32 value;
 __u8 name[UVC_MENU_NAME_LEN];
};

struct uvc_xu_control_mapping {
 __u32 id;
 __u8 name[32];
 __u8 entity[16];
 __u8 selector;

 __u8 size;
 __u8 offset;
 __u32 v4l2_type;
 __u32 data_type;

 struct uvc_menu_info __user *menu_info;
 __u32 menu_count;

 __u32 reserved[4];
};

struct uvc_xu_control_query {
 __u8 unit;
 __u8 selector;
 __u8 query;  /* Video Class-Specific Request Code, */
    /* defined in linux/usb/video.h A.8.  */
 __u16 size;
 __u8 __user *data;
};

#define UVCIOC_CTRL_MAP  _IOWR('u', 0x20, struct uvc_xu_control_mapping)
#define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query)

/*
 * Metadata node
 */


/**
 * struct uvc_meta_buf - metadata buffer building block
 * @ns: system timestamp of the payload in nanoseconds
 * @sof: USB Frame Number
 * @length: length of the payload header
 * @flags: payload header flags
 * @buf: optional device-specific header data
 *
 * UVC metadata nodes fill buffers with possibly multiple instances of this
 * struct. The first two fields are added by the driver, they can be used for
 * clock synchronisation. The rest is an exact copy of a UVC payload header.
 * Only complete objects with complete buffers are included. Therefore it's
 * always sizeof(meta->ns) + sizeof(meta->sof) + meta->length bytes large.
 */

struct uvc_meta_buf {
 __u64 ns;
 __u16 sof;
 __u8 length;
 __u8 flags;
 __u8 buf[];
} __packed;

#endif

Messung V0.5
C=96 H=97 G=96

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.