VSF Documented
vsf_usb_UVC.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __VSF_USB_UVC_H__
19#define __VSF_USB_UVC_H__
20
21/*============================ INCLUDES ======================================*/
22
24
25#if ((VSF_USE_USB_DEVICE == ENABLED) && (VSF_USBD_USE_UVC == ENABLED)) \
26 || ((VSF_USE_USB_HOST == ENABLED) && (VSF_USBH_USE_UVC == ENABLED))
27
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34/*============================ MACROS ========================================*/
35/*============================ MACROFIED FUNCTIONS ===========================*/
36/*============================ TYPES =========================================*/
37
38typedef enum usb_uvc_req_t {
50
51// descriptors
52
58};
59
71
88
96 union {
97 struct {
106 struct {
116
133
134// Stream Controls
160
161// Camera Terminal
170
171/*============================ GLOBAL VARIABLES ==============================*/
172/*============================ PROTOTYPES ====================================*/
173
174#ifdef __cplusplus
175}
176#endif
177
178#endif // (VSF_USE_USB_DEVICE && VSF_USBD_USE_UVC) || (VSF_USE_USB_HOST && VSF_USBH_USE_UVC)
179#endif // __VSFUSB_UVC_H__
unsigned short uint16_t
Definition stdint.h:7
unsigned uint32_t
Definition stdint.h:9
unsigned long long uint64_t
Definition stdint.h:11
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_usb_UVC.h:163
uint16_t wROI_Top
Definition vsf_usb_UVC.h:164
uint16_t wROI_Bottom
Definition vsf_usb_UVC.h:166
uint16_t wROI_Right
Definition vsf_usb_UVC.h:167
uint16_t wROI_Left
Definition vsf_usb_UVC.h:165
uint16_t bmAutoControls
Definition vsf_usb_UVC.h:168
Definition vsf_usb_UVC.h:54
uint8_t bDescriptorType
Definition vsf_usb_UVC.h:56
uint8_t bLength
Definition vsf_usb_UVC.h:55
uint8_t bDescriptorSubtype
Definition vsf_usb_UVC.h:57
Definition vsf_usb_UVC.h:90
uint8_t bAspectRatioY
Definition vsf_usb_UVC.h:102
uint8_t bLength
Definition vsf_usb_UVC.h:91
uint8_t bmInterlaceFlags
Definition vsf_usb_UVC.h:103
union usb_uvc_format_desc_t::@170 VSF_CAL_PACKED
uint8_t bAspectRatioX
Definition vsf_usb_UVC.h:101
uint8_t bBitsPerPixel
Definition vsf_usb_UVC.h:99
uint8_t bDescriptorSubtype
Definition vsf_usb_UVC.h:93
uint8_t bCopyProtect
Definition vsf_usb_UVC.h:104
uint8_t bFormatIndex
Definition vsf_usb_UVC.h:94
uint32_t guidFormat
Definition vsf_usb_UVC.h:98
uint8_t bNumFrameDescriptors
Definition vsf_usb_UVC.h:95
struct usb_uvc_format_desc_t::@170::@173 mjpeg
struct usb_uvc_format_desc_t::@170::@172 uncompressed
uint8_t bDescriptorType
Definition vsf_usb_UVC.h:92
uint8_t bDefaultFrameIndex
Definition vsf_usb_UVC.h:100
uint8_t bmFlags
Definition vsf_usb_UVC.h:107
Definition vsf_usb_UVC.h:118
uint8_t bDescriptorType
Definition vsf_usb_UVC.h:120
uint8_t bFrameIndex
Definition vsf_usb_UVC.h:122
uint32_t dwFrameInterval[0]
Definition vsf_usb_UVC.h:131
uint32_t dwMaxVideoFrameBufferSize
Definition vsf_usb_UVC.h:128
uint8_t bLength
Definition vsf_usb_UVC.h:119
uint32_t dwMinBitRate
Definition vsf_usb_UVC.h:126
uint8_t bmCapabilities
Definition vsf_usb_UVC.h:123
uint8_t bDescriptorSubtype
Definition vsf_usb_UVC.h:121
uint16_t wWidth
Definition vsf_usb_UVC.h:124
uint32_t dwDefaultFrameInterval
Definition vsf_usb_UVC.h:129
uint16_t wHeight
Definition vsf_usb_UVC.h:125
uint8_t bFrameIntervalType
Definition vsf_usb_UVC.h:130
uint32_t dwMaxBitRate
Definition vsf_usb_UVC.h:127
Definition vsf_usb_UVC.h:61
uint8_t bInCollection
Definition vsf_usb_UVC.h:68
uint16_t wTotalLength
Definition vsf_usb_UVC.h:66
uint8_t bDescriptorSubtype
Definition vsf_usb_UVC.h:64
uint8_t bLength
Definition vsf_usb_UVC.h:62
uint8_t bDescriptorType
Definition vsf_usb_UVC.h:63
uint32_t dwClockFrequency
Definition vsf_usb_UVC.h:67
uint16_t bcdVDC
Definition vsf_usb_UVC.h:65
uint8_t baInterfaceNr[1]
Definition vsf_usb_UVC.h:69
Definition vsf_usb_UVC.h:73
uint8_t bEndpointAddress
Definition vsf_usb_UVC.h:79
uint8_t bmInfo
Definition vsf_usb_UVC.h:80
uint8_t bmControls[0]
Definition vsf_usb_UVC.h:86
uint8_t bControlSize
Definition vsf_usb_UVC.h:85
uint16_t wTotalLength
Definition vsf_usb_UVC.h:78
uint8_t bTriggerUsage
Definition vsf_usb_UVC.h:84
uint8_t bTriggerSupport
Definition vsf_usb_UVC.h:83
uint8_t bStillCaptureMethod
Definition vsf_usb_UVC.h:82
uint8_t bDescriptorSubtype
Definition vsf_usb_UVC.h:76
uint8_t bLength
Definition vsf_usb_UVC.h:74
uint8_t bNumFormats
Definition vsf_usb_UVC.h:77
uint8_t bTerminalLink
Definition vsf_usb_UVC.h:81
uint8_t bDescriptorType
Definition vsf_usb_UVC.h:75
Definition vsf_usb_UVC.h:136
uint8_t bFrameIndex
Definition vsf_usb_UVC.h:139
uint8_t bMaxVersion
Definition vsf_usb_UVC.h:152
uint8_t bBitDepthLuma
Definition vsf_usb_UVC.h:154
uint64_t bmLayoutPerStream
Definition vsf_usb_UVC.h:158
uint16_t wCompWindowSize
Definition vsf_usb_UVC.h:144
uint16_t wCompQuality
Definition vsf_usb_UVC.h:143
uint16_t wKeyFrameRate
Definition vsf_usb_UVC.h:141
uint16_t wDelay
Definition vsf_usb_UVC.h:145
uint8_t bMinVersion
Definition vsf_usb_UVC.h:151
uint8_t bMaxNumberOfFramesPlus1
Definition vsf_usb_UVC.h:156
uint32_t dwClockFrequency
Definition vsf_usb_UVC.h:148
uint32_t dwMaxPayloadTransferSize
Definition vsf_usb_UVC.h:147
uint16_t bmHint
Definition vsf_usb_UVC.h:137
uint8_t bUsage
Definition vsf_usb_UVC.h:153
uint32_t dwFrameInterval
Definition vsf_usb_UVC.h:140
uint8_t bmFramingInfo
Definition vsf_usb_UVC.h:149
uint8_t bmSettings
Definition vsf_usb_UVC.h:155
uint8_t bPreferedVersion
Definition vsf_usb_UVC.h:150
uint8_t bFormatIndex
Definition vsf_usb_UVC.h:138
uint16_t wPFrameRate
Definition vsf_usb_UVC.h:142
uint16_t bmRateControlModes
Definition vsf_usb_UVC.h:157
uint32_t dwMaxVideoFrameSize
Definition vsf_usb_UVC.h:146
struct usb_uvc_vc_interface_header_desc_t VSF_CAL_PACKED
usb_uvc_req_t
Definition vsf_usb_UVC.h:38
@ USB_UVC_REQ_MIN
Definition vsf_usb_UVC.h:40
@ USB_UVC_REQ_RES
Definition vsf_usb_UVC.h:42
@ USB_UVC_REQ_INFO
Definition vsf_usb_UVC.h:44
@ USB_UVC_REQ_ALL
Definition vsf_usb_UVC.h:46
@ USB_UVC_REQ_GET
Definition vsf_usb_UVC.h:48
@ USB_UVC_REQ_LEN
Definition vsf_usb_UVC.h:43
@ USB_UVC_REQ_SET
Definition vsf_usb_UVC.h:47
@ USB_UVC_REQ_CUR
Definition vsf_usb_UVC.h:39
@ USB_UVC_REQ_MAX
Definition vsf_usb_UVC.h:41
@ USB_UVC_REQ_DEF
Definition vsf_usb_UVC.h:45