mirror of
https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git
synced 2025-11-30 20:11:03 +08:00
[04-1]_USB摄像头描述符解析
This commit is contained in:
@@ -88,7 +88,7 @@ APP也会周而复始地做如下事情:
|
||||
|
||||
### 2.1 APP接口
|
||||
|
||||
就APP而言,对于这些参数由3套接口:查询或枚举(Query/Enum)、获得(Get)、设置(Set)。
|
||||
就APP而言,对于这些参数有3套接口:查询或枚举(Query/Enum)、获得(Get)、设置(Set)。
|
||||
|
||||
#### 2.1.1 数据格式
|
||||
|
||||
|
||||
BIN
IMX6ULL/doc_pic/13_V4L2/04-1_USB摄像头描述符.tif
Normal file
BIN
IMX6ULL/doc_pic/13_V4L2/04-1_USB摄像头描述符.tif
Normal file
Binary file not shown.
759
IMX6ULL/doc_pic/13_V4L2/04_USB摄像头驱动程序分析.md
Normal file
759
IMX6ULL/doc_pic/13_V4L2/04_USB摄像头驱动程序分析.md
Normal file
@@ -0,0 +1,759 @@
|
||||
# USB摄像头驱动程序分析 #
|
||||
|
||||
参考资料:
|
||||
|
||||
* 内核源码: `drivers\media\usb\uvc\uvc_driver.c`
|
||||
|
||||
|
||||
|
||||
## 1. 描述符解析
|
||||
|
||||
### 1.1 内部逻辑结构
|
||||
|
||||
USB摄像头的内部结构如下:
|
||||
|
||||

|
||||
|
||||
一个USB摄像头必定有一个VideoControl接口,用于控制。有0个或多个VideoStreaming接口,用于传输视频。
|
||||
|
||||
在VideoControl内部,有多个Unit或Terminal,上一个Unit或Terminal的数据,流向下一个Unit或Terminal,多个Unit或Terminal组成一个完整的UVC功能设备。
|
||||
|
||||
|
||||
|
||||
### 1.2 描述符实例解析
|
||||
|
||||
下载安装:https://www.uwe-sieber.de/usbtreeview_e.html
|
||||
|
||||
也可以使用linux工具lsusb。
|
||||
|
||||
```shell
|
||||
lsusb -v -d 038f:0541
|
||||
|
||||
Bus 001 Device 004: ID 038f:0541
|
||||
Device Descriptor:
|
||||
bLength 18
|
||||
bDescriptorType 1
|
||||
bcdUSB 2.00
|
||||
bDeviceClass 239 Miscellaneous Device
|
||||
bDeviceSubClass 2 ?
|
||||
bDeviceProtocol 1 Interface Association
|
||||
bMaxPacketSize0 64
|
||||
idVendor 0x038f
|
||||
idProduct 0x0541
|
||||
bcdDevice 0.04
|
||||
iManufacturer 1 lihappe8 Corp.
|
||||
iProduct 2 USB 2.0 Camera
|
||||
iSerial 0
|
||||
bNumConfigurations 1
|
||||
Configuration Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 2
|
||||
wTotalLength 1096
|
||||
bNumInterfaces 4
|
||||
bConfigurationValue 1
|
||||
iConfiguration 0
|
||||
bmAttributes 0x80
|
||||
(Bus Powered)
|
||||
MaxPower 500mA
|
||||
Interface Association:
|
||||
bLength 8
|
||||
bDescriptorType 11
|
||||
bFirstInterface 0
|
||||
bInterfaceCount 2
|
||||
bFunctionClass 14 Video
|
||||
bFunctionSubClass 3 Video Interface Collection
|
||||
bFunctionProtocol 0
|
||||
iFunction 4 USB 2.0 Camera
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 0
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 1 Video Control
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 13
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (HEADER)
|
||||
bcdUVC 1.00
|
||||
wTotalLength 79
|
||||
dwClockFrequency 30.000000MHz
|
||||
bInCollection 1
|
||||
baInterfaceNr( 0) 1
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 28
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 6 (EXTENSION_UNIT)
|
||||
bUnitID 6
|
||||
guidExtensionCode {b0d0bb68-a461-834b-90b7-a6215f3c4f70}
|
||||
bNumControl 24
|
||||
bNrPins 1
|
||||
baSourceID( 0) 2
|
||||
bControlSize 3
|
||||
bmControls( 0) 0xff
|
||||
bmControls( 1) 0xff
|
||||
bmControls( 2) 0xff
|
||||
iExtension 0
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 18
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 2 (INPUT_TERMINAL)
|
||||
bTerminalID 1
|
||||
wTerminalType 0x0201 Camera Sensor
|
||||
bAssocTerminal 0
|
||||
iTerminal 0
|
||||
wObjectiveFocalLengthMin 0
|
||||
wObjectiveFocalLengthMax 0
|
||||
wOcularFocalLength 0
|
||||
bControlSize 3
|
||||
bmControls 0x00000000
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 11
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (PROCESSING_UNIT)
|
||||
Warning: Descriptor too short
|
||||
bUnitID 2
|
||||
bSourceID 1
|
||||
wMaxMultiplier 0
|
||||
bControlSize 2
|
||||
bmControls 0x0000157f
|
||||
Brightness
|
||||
Contrast
|
||||
Hue
|
||||
Saturation
|
||||
Sharpness
|
||||
Gamma
|
||||
White Balance Temperature
|
||||
Backlight Compensation
|
||||
Power Line Frequency
|
||||
White Balance Temperature, Auto
|
||||
iProcessing 0
|
||||
bmVideoStandards 0x 9
|
||||
None
|
||||
SECAM - 625/50
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
|
||||
bTerminalID 3
|
||||
wTerminalType 0x0101 USB Streaming
|
||||
bAssocTerminal 0
|
||||
bSourceID 2
|
||||
iTerminal 0
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x81 EP 1 IN
|
||||
bmAttributes 3
|
||||
Transfer Type Interrupt
|
||||
Synch Type None
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0010 1x 16 bytes
|
||||
bInterval 7
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 0
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 15
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (INPUT_HEADER)
|
||||
bNumFormats 2
|
||||
wTotalLength 773
|
||||
bEndPointAddress 130
|
||||
bmInfo 0
|
||||
bTerminalLink 3
|
||||
bStillCaptureMethod 2
|
||||
bTriggerSupport 1
|
||||
bTriggerUsage 0
|
||||
bControlSize 1
|
||||
bmaControls( 0) 27
|
||||
bmaControls( 1) 27
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 27
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
|
||||
bFormatIndex 1
|
||||
bNumFrameDescriptors 8
|
||||
guidFormat {59555932-0000-1000-8000-00aa00389b71}
|
||||
bBitsPerPixel 16
|
||||
bDefaultFrameIndex 1
|
||||
bAspectRatioX 0
|
||||
bAspectRatioY 0
|
||||
bmInterlaceFlags 0x00
|
||||
Interlaced stream or variable: No
|
||||
Fields per frame: 2 fields
|
||||
Field 1 first: No
|
||||
Field pattern: Field 1 only
|
||||
bCopyProtect 0
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 1
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 640
|
||||
wHeight 480
|
||||
dwMinBitRate 24576000
|
||||
dwMaxBitRate 147456000
|
||||
dwMaxVideoFrameBufferSize 614400
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 2
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 160
|
||||
wHeight 120
|
||||
dwMinBitRate 1536000
|
||||
dwMaxBitRate 9216000
|
||||
dwMaxVideoFrameBufferSize 38400
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 3
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 320
|
||||
wHeight 240
|
||||
dwMinBitRate 6144000
|
||||
dwMaxBitRate 36864000
|
||||
dwMaxVideoFrameBufferSize 153600
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 4
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 352
|
||||
wHeight 288
|
||||
dwMinBitRate 8110080
|
||||
dwMaxBitRate 48660480
|
||||
dwMaxVideoFrameBufferSize 202752
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 38
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 5
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 800
|
||||
wHeight 600
|
||||
dwMinBitRate 38400000
|
||||
dwMaxBitRate 115200000
|
||||
dwMaxVideoFrameBufferSize 960000
|
||||
dwDefaultFrameInterval 666666
|
||||
bFrameIntervalType 3
|
||||
dwFrameInterval( 0) 666666
|
||||
dwFrameInterval( 1) 1000000
|
||||
dwFrameInterval( 2) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 38
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 6
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 720
|
||||
dwMinBitRate 73728000
|
||||
dwMaxBitRate 221184000
|
||||
dwMaxVideoFrameBufferSize 1843200
|
||||
dwDefaultFrameInterval 666666
|
||||
bFrameIntervalType 3
|
||||
dwFrameInterval( 0) 666666
|
||||
dwFrameInterval( 1) 1000000
|
||||
dwFrameInterval( 2) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 38
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 7
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 1024
|
||||
dwMinBitRate 104857600
|
||||
dwMaxBitRate 251658240
|
||||
dwMaxVideoFrameBufferSize 2621440
|
||||
dwDefaultFrameInterval 833333
|
||||
bFrameIntervalType 3
|
||||
dwFrameInterval( 0) 833333
|
||||
dwFrameInterval( 1) 1000000
|
||||
dwFrameInterval( 2) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 34
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 8
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1600
|
||||
wHeight 1200
|
||||
dwMinBitRate 153600000
|
||||
dwMaxBitRate 276480000
|
||||
dwMaxVideoFrameBufferSize 3840000
|
||||
dwDefaultFrameInterval 1111111
|
||||
bFrameIntervalType 2
|
||||
dwFrameInterval( 0) 1111111
|
||||
dwFrameInterval( 1) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 10
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 3 (STILL_IMAGE_FRAME)
|
||||
bEndpointAddress 0
|
||||
bNumImageSizePatterns 1
|
||||
wWidth( 0) 1600
|
||||
wHeight( 0) 1200
|
||||
bNumCompressionPatterns 1
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 6
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 13 (COLORFORMAT)
|
||||
bColorPrimaries 1 (BT.709,sRGB)
|
||||
bTransferCharacteristics 1 (BT.709)
|
||||
bMatrixCoefficients 4 (SMPTE 170M (BT.601))
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 11
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 6 (FORMAT_MJPEG)
|
||||
bFormatIndex 2
|
||||
bNumFrameDescriptors 7
|
||||
bFlags 1
|
||||
Fixed-size samples: Yes
|
||||
bDefaultFrameIndex 1
|
||||
bAspectRatioX 0
|
||||
bAspectRatioY 0
|
||||
bmInterlaceFlags 0x00
|
||||
Interlaced stream or variable: No
|
||||
Fields per frame: 1 fields
|
||||
Field 1 first: No
|
||||
Field pattern: Field 1 only
|
||||
bCopyProtect 0
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 1
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 640
|
||||
wHeight 480
|
||||
dwMinBitRate 36864000
|
||||
dwMaxBitRate 221184000
|
||||
dwMaxVideoFrameBufferSize 921600
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 2
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 160
|
||||
wHeight 120
|
||||
dwMinBitRate 2304000
|
||||
dwMaxBitRate 13824000
|
||||
dwMaxVideoFrameBufferSize 57600
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 3
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 320
|
||||
wHeight 240
|
||||
dwMinBitRate 9216000
|
||||
dwMaxBitRate 55296000
|
||||
dwMaxVideoFrameBufferSize 230400
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 4
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 352
|
||||
wHeight 288
|
||||
dwMinBitRate 12165120
|
||||
dwMaxBitRate 72990720
|
||||
dwMaxVideoFrameBufferSize 304128
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 5
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 800
|
||||
wHeight 600
|
||||
dwMinBitRate 57600000
|
||||
dwMaxBitRate 345600000
|
||||
dwMaxVideoFrameBufferSize 1440000
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 6
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 720
|
||||
dwMinBitRate 110592000
|
||||
dwMaxBitRate 663552000
|
||||
dwMaxVideoFrameBufferSize 2764800
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 7
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 1024
|
||||
dwMinBitRate 157286400
|
||||
dwMaxBitRate 943718400
|
||||
dwMaxVideoFrameBufferSize 3932160
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 6
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 13 (COLORFORMAT)
|
||||
bColorPrimaries 1 (BT.709,sRGB)
|
||||
bTransferCharacteristics 1 (BT.709)
|
||||
bMatrixCoefficients 4 (SMPTE 170M (BT.601))
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 1
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x1400 3x 1024 bytes
|
||||
bInterval 1
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 2
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0c00 2x 1024 bytes
|
||||
bInterval 1
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 3
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0400 1x 1024 bytes
|
||||
bInterval 1
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 4
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0200 1x 512 bytes
|
||||
bInterval 1
|
||||
Interface Association:
|
||||
bLength 8
|
||||
bDescriptorType 11
|
||||
bFirstInterface 2
|
||||
bInterfaceCount 2
|
||||
bFunctionClass 1 Audio
|
||||
bFunctionSubClass 0
|
||||
bFunctionProtocol 0
|
||||
iFunction 5 USB Digital Audio
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 2
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 0
|
||||
bInterfaceClass 1 Audio
|
||||
bInterfaceSubClass 1 Control Device
|
||||
bInterfaceProtocol 0
|
||||
iInterface 5 USB Digital Audio
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (HEADER)
|
||||
bcdADC 1.00
|
||||
wTotalLength 43
|
||||
bInCollection 1
|
||||
baInterfaceNr( 0) 3
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 12
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 2 (INPUT_TERMINAL)
|
||||
bTerminalID 1
|
||||
wTerminalType 0x0201 Microphone
|
||||
bAssocTerminal 0
|
||||
bNrChannels 2
|
||||
wChannelConfig 0x0003
|
||||
Left Front (L)
|
||||
Right Front (R)
|
||||
iChannelNames 0
|
||||
iTerminal 0
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 13
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 6 (FEATURE_UNIT)
|
||||
bUnitID 5
|
||||
bSourceID 1
|
||||
bControlSize 2
|
||||
bmaControls( 0) 0x01
|
||||
bmaControls( 0) 0x00
|
||||
Mute Control
|
||||
bmaControls( 1) 0x03
|
||||
bmaControls( 1) 0x00
|
||||
Mute Control
|
||||
Volume Control
|
||||
bmaControls( 2) 0x03
|
||||
bmaControls( 2) 0x00
|
||||
Mute Control
|
||||
Volume Control
|
||||
iFeature 0
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
|
||||
bTerminalID 3
|
||||
wTerminalType 0x0101 USB Streaming
|
||||
bAssocTerminal 0
|
||||
bSourceID 5
|
||||
iTerminal 0
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 3
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 0
|
||||
bInterfaceClass 1 Audio
|
||||
bInterfaceSubClass 2 Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 5 USB Digital Audio
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 3
|
||||
bAlternateSetting 1
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 1 Audio
|
||||
bInterfaceSubClass 2 Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 5 USB Digital Audio
|
||||
AudioStreaming Interface Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (AS_GENERAL)
|
||||
bTerminalLink 3
|
||||
bDelay 1 frames
|
||||
wFormatTag 1 PCM
|
||||
AudioStreaming Interface Descriptor:
|
||||
bLength 32
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 2 (FORMAT_TYPE)
|
||||
bFormatType 1 (FORMAT_TYPE_I)
|
||||
bNrChannels 2
|
||||
bSubframeSize 2
|
||||
bBitResolution 16
|
||||
bSamFreqType 8 Discrete
|
||||
tSamFreq[ 0] 48000
|
||||
tSamFreq[ 1] 44100
|
||||
tSamFreq[ 2] 24000
|
||||
tSamFreq[ 3] 22050
|
||||
tSamFreq[ 4] 16000
|
||||
tSamFreq[ 5] 12000
|
||||
tSamFreq[ 6] 11025
|
||||
tSamFreq[ 7] 8000
|
||||
Endpoint Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x83 EP 3 IN
|
||||
bmAttributes 13
|
||||
Transfer Type Isochronous
|
||||
Synch Type Synchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x00c8 1x 200 bytes
|
||||
bInterval 4
|
||||
bRefresh 0
|
||||
bSynchAddress 0
|
||||
AudioControl Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 37
|
||||
bDescriptorSubtype 1 (EP_GENERAL)
|
||||
bmAttributes 0x01
|
||||
Sampling Frequency
|
||||
bLockDelayUnits 1 Milliseconds
|
||||
wLockDelay 0 Milliseconds
|
||||
Device Qualifier (for other device speed):
|
||||
bLength 10
|
||||
bDescriptorType 6
|
||||
bcdUSB 2.00
|
||||
bDeviceClass 239 Miscellaneous Device
|
||||
bDeviceSubClass 2 ?
|
||||
bDeviceProtocol 1 Interface Association
|
||||
bMaxPacketSize0 64
|
||||
bNumConfigurations 1
|
||||
Device Status: 0x0000
|
||||
(Bus Powered)
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 2. UVC驱动框架
|
||||
|
||||
内核源码: `drivers\media\usb\uvc\uvc_driver.c`,注册了一个usb_driver,它的id_table表示:它是VideoControl Interface的驱动。在uvc_probe里,再针对VideoStreaming Interface进行处理。
|
||||
|
||||

|
||||
|
||||
717
IMX6ULL/doc_pic/13_V4L2/USB摄像头描述符.txt
Normal file
717
IMX6ULL/doc_pic/13_V4L2/USB摄像头描述符.txt
Normal file
@@ -0,0 +1,717 @@
|
||||
|
||||
Bus 001 Device 004: ID 038f:0541
|
||||
Device Descriptor:
|
||||
bLength 18
|
||||
bDescriptorType 1
|
||||
bcdUSB 2.00
|
||||
bDeviceClass 239 Miscellaneous Device
|
||||
bDeviceSubClass 2 ?
|
||||
bDeviceProtocol 1 Interface Association
|
||||
bMaxPacketSize0 64
|
||||
idVendor 0x038f
|
||||
idProduct 0x0541
|
||||
bcdDevice 0.04
|
||||
iManufacturer 1 lihappe8 Corp.
|
||||
iProduct 2 USB 2.0 Camera
|
||||
iSerial 0
|
||||
bNumConfigurations 1
|
||||
Configuration Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 2
|
||||
wTotalLength 1096
|
||||
bNumInterfaces 4
|
||||
bConfigurationValue 1
|
||||
iConfiguration 0
|
||||
bmAttributes 0x80
|
||||
(Bus Powered)
|
||||
MaxPower 500mA
|
||||
Interface Association:
|
||||
bLength 8
|
||||
bDescriptorType 11
|
||||
bFirstInterface 0
|
||||
bInterfaceCount 2
|
||||
bFunctionClass 14 Video
|
||||
bFunctionSubClass 3 Video Interface Collection
|
||||
bFunctionProtocol 0
|
||||
iFunction 4 USB 2.0 Camera
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 0
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 1 Video Control
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 13
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (HEADER)
|
||||
bcdUVC 1.00
|
||||
wTotalLength 79
|
||||
dwClockFrequency 30.000000MHz
|
||||
bInCollection 1
|
||||
baInterfaceNr( 0) 1
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 28
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 6 (EXTENSION_UNIT)
|
||||
bUnitID 6
|
||||
guidExtensionCode {b0d0bb68-a461-834b-90b7-a6215f3c4f70}
|
||||
bNumControl 24
|
||||
bNrPins 1
|
||||
baSourceID( 0) 2
|
||||
bControlSize 3
|
||||
bmControls( 0) 0xff
|
||||
bmControls( 1) 0xff
|
||||
bmControls( 2) 0xff
|
||||
iExtension 0
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 18
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 2 (INPUT_TERMINAL)
|
||||
bTerminalID 1
|
||||
wTerminalType 0x0201 Camera Sensor
|
||||
bAssocTerminal 0
|
||||
iTerminal 0
|
||||
wObjectiveFocalLengthMin 0
|
||||
wObjectiveFocalLengthMax 0
|
||||
wOcularFocalLength 0
|
||||
bControlSize 3
|
||||
bmControls 0x00000000
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 11
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (PROCESSING_UNIT)
|
||||
Warning: Descriptor too short
|
||||
bUnitID 2
|
||||
bSourceID 1
|
||||
wMaxMultiplier 0
|
||||
bControlSize 2
|
||||
bmControls 0x0000157f
|
||||
Brightness
|
||||
Contrast
|
||||
Hue
|
||||
Saturation
|
||||
Sharpness
|
||||
Gamma
|
||||
White Balance Temperature
|
||||
Backlight Compensation
|
||||
Power Line Frequency
|
||||
White Balance Temperature, Auto
|
||||
iProcessing 0
|
||||
bmVideoStandards 0x 9
|
||||
None
|
||||
SECAM - 625/50
|
||||
VideoControl Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
|
||||
bTerminalID 3
|
||||
wTerminalType 0x0101 USB Streaming
|
||||
bAssocTerminal 0
|
||||
bSourceID 2
|
||||
iTerminal 0
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x81 EP 1 IN
|
||||
bmAttributes 3
|
||||
Transfer Type Interrupt
|
||||
Synch Type None
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0010 1x 16 bytes
|
||||
bInterval 7
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 0
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 15
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (INPUT_HEADER)
|
||||
bNumFormats 2
|
||||
wTotalLength 773
|
||||
bEndPointAddress 130
|
||||
bmInfo 0
|
||||
bTerminalLink 3
|
||||
bStillCaptureMethod 2
|
||||
bTriggerSupport 1
|
||||
bTriggerUsage 0
|
||||
bControlSize 1
|
||||
bmaControls( 0) 27
|
||||
bmaControls( 1) 27
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 27
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
|
||||
bFormatIndex 1
|
||||
bNumFrameDescriptors 8
|
||||
guidFormat {59555932-0000-1000-8000-00aa00389b71}
|
||||
bBitsPerPixel 16
|
||||
bDefaultFrameIndex 1
|
||||
bAspectRatioX 0
|
||||
bAspectRatioY 0
|
||||
bmInterlaceFlags 0x00
|
||||
Interlaced stream or variable: No
|
||||
Fields per frame: 2 fields
|
||||
Field 1 first: No
|
||||
Field pattern: Field 1 only
|
||||
bCopyProtect 0
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 1
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 640
|
||||
wHeight 480
|
||||
dwMinBitRate 24576000
|
||||
dwMaxBitRate 147456000
|
||||
dwMaxVideoFrameBufferSize 614400
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 2
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 160
|
||||
wHeight 120
|
||||
dwMinBitRate 1536000
|
||||
dwMaxBitRate 9216000
|
||||
dwMaxVideoFrameBufferSize 38400
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 3
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 320
|
||||
wHeight 240
|
||||
dwMinBitRate 6144000
|
||||
dwMaxBitRate 36864000
|
||||
dwMaxVideoFrameBufferSize 153600
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 4
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 352
|
||||
wHeight 288
|
||||
dwMinBitRate 8110080
|
||||
dwMaxBitRate 48660480
|
||||
dwMaxVideoFrameBufferSize 202752
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 38
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 5
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 800
|
||||
wHeight 600
|
||||
dwMinBitRate 38400000
|
||||
dwMaxBitRate 115200000
|
||||
dwMaxVideoFrameBufferSize 960000
|
||||
dwDefaultFrameInterval 666666
|
||||
bFrameIntervalType 3
|
||||
dwFrameInterval( 0) 666666
|
||||
dwFrameInterval( 1) 1000000
|
||||
dwFrameInterval( 2) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 38
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 6
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 720
|
||||
dwMinBitRate 73728000
|
||||
dwMaxBitRate 221184000
|
||||
dwMaxVideoFrameBufferSize 1843200
|
||||
dwDefaultFrameInterval 666666
|
||||
bFrameIntervalType 3
|
||||
dwFrameInterval( 0) 666666
|
||||
dwFrameInterval( 1) 1000000
|
||||
dwFrameInterval( 2) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 38
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 7
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 1024
|
||||
dwMinBitRate 104857600
|
||||
dwMaxBitRate 251658240
|
||||
dwMaxVideoFrameBufferSize 2621440
|
||||
dwDefaultFrameInterval 833333
|
||||
bFrameIntervalType 3
|
||||
dwFrameInterval( 0) 833333
|
||||
dwFrameInterval( 1) 1000000
|
||||
dwFrameInterval( 2) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 34
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
|
||||
bFrameIndex 8
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1600
|
||||
wHeight 1200
|
||||
dwMinBitRate 153600000
|
||||
dwMaxBitRate 276480000
|
||||
dwMaxVideoFrameBufferSize 3840000
|
||||
dwDefaultFrameInterval 1111111
|
||||
bFrameIntervalType 2
|
||||
dwFrameInterval( 0) 1111111
|
||||
dwFrameInterval( 1) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 10
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 3 (STILL_IMAGE_FRAME)
|
||||
bEndpointAddress 0
|
||||
bNumImageSizePatterns 1
|
||||
wWidth( 0) 1600
|
||||
wHeight( 0) 1200
|
||||
bNumCompressionPatterns 1
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 6
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 13 (COLORFORMAT)
|
||||
bColorPrimaries 1 (BT.709,sRGB)
|
||||
bTransferCharacteristics 1 (BT.709)
|
||||
bMatrixCoefficients 4 (SMPTE 170M (BT.601))
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 11
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 6 (FORMAT_MJPEG)
|
||||
bFormatIndex 2
|
||||
bNumFrameDescriptors 7
|
||||
bFlags 1
|
||||
Fixed-size samples: Yes
|
||||
bDefaultFrameIndex 1
|
||||
bAspectRatioX 0
|
||||
bAspectRatioY 0
|
||||
bmInterlaceFlags 0x00
|
||||
Interlaced stream or variable: No
|
||||
Fields per frame: 1 fields
|
||||
Field 1 first: No
|
||||
Field pattern: Field 1 only
|
||||
bCopyProtect 0
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 1
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 640
|
||||
wHeight 480
|
||||
dwMinBitRate 36864000
|
||||
dwMaxBitRate 221184000
|
||||
dwMaxVideoFrameBufferSize 921600
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 2
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 160
|
||||
wHeight 120
|
||||
dwMinBitRate 2304000
|
||||
dwMaxBitRate 13824000
|
||||
dwMaxVideoFrameBufferSize 57600
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 3
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 320
|
||||
wHeight 240
|
||||
dwMinBitRate 9216000
|
||||
dwMaxBitRate 55296000
|
||||
dwMaxVideoFrameBufferSize 230400
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 4
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 352
|
||||
wHeight 288
|
||||
dwMinBitRate 12165120
|
||||
dwMaxBitRate 72990720
|
||||
dwMaxVideoFrameBufferSize 304128
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 5
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 800
|
||||
wHeight 600
|
||||
dwMinBitRate 57600000
|
||||
dwMaxBitRate 345600000
|
||||
dwMaxVideoFrameBufferSize 1440000
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 6
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 720
|
||||
dwMinBitRate 110592000
|
||||
dwMaxBitRate 663552000
|
||||
dwMaxVideoFrameBufferSize 2764800
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 50
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 7 (FRAME_MJPEG)
|
||||
bFrameIndex 7
|
||||
bmCapabilities 0x00
|
||||
Still image unsupported
|
||||
wWidth 1280
|
||||
wHeight 1024
|
||||
dwMinBitRate 157286400
|
||||
dwMaxBitRate 943718400
|
||||
dwMaxVideoFrameBufferSize 3932160
|
||||
dwDefaultFrameInterval 333333
|
||||
bFrameIntervalType 6
|
||||
dwFrameInterval( 0) 333333
|
||||
dwFrameInterval( 1) 400000
|
||||
dwFrameInterval( 2) 500000
|
||||
dwFrameInterval( 3) 666666
|
||||
dwFrameInterval( 4) 1000000
|
||||
dwFrameInterval( 5) 2000000
|
||||
VideoStreaming Interface Descriptor:
|
||||
bLength 6
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 13 (COLORFORMAT)
|
||||
bColorPrimaries 1 (BT.709,sRGB)
|
||||
bTransferCharacteristics 1 (BT.709)
|
||||
bMatrixCoefficients 4 (SMPTE 170M (BT.601))
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 1
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x1400 3x 1024 bytes
|
||||
bInterval 1
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 2
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0c00 2x 1024 bytes
|
||||
bInterval 1
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 3
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0400 1x 1024 bytes
|
||||
bInterval 1
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 4
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 14 Video
|
||||
bInterfaceSubClass 2 Video Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4 USB 2.0 Camera
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 5
|
||||
Transfer Type Isochronous
|
||||
Synch Type Asynchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0200 1x 512 bytes
|
||||
bInterval 1
|
||||
Interface Association:
|
||||
bLength 8
|
||||
bDescriptorType 11
|
||||
bFirstInterface 2
|
||||
bInterfaceCount 2
|
||||
bFunctionClass 1 Audio
|
||||
bFunctionSubClass 0
|
||||
bFunctionProtocol 0
|
||||
iFunction 5 USB Digital Audio
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 2
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 0
|
||||
bInterfaceClass 1 Audio
|
||||
bInterfaceSubClass 1 Control Device
|
||||
bInterfaceProtocol 0
|
||||
iInterface 5 USB Digital Audio
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (HEADER)
|
||||
bcdADC 1.00
|
||||
wTotalLength 43
|
||||
bInCollection 1
|
||||
baInterfaceNr( 0) 3
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 12
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 2 (INPUT_TERMINAL)
|
||||
bTerminalID 1
|
||||
wTerminalType 0x0201 Microphone
|
||||
bAssocTerminal 0
|
||||
bNrChannels 2
|
||||
wChannelConfig 0x0003
|
||||
Left Front (L)
|
||||
Right Front (R)
|
||||
iChannelNames 0
|
||||
iTerminal 0
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 13
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 6 (FEATURE_UNIT)
|
||||
bUnitID 5
|
||||
bSourceID 1
|
||||
bControlSize 2
|
||||
bmaControls( 0) 0x01
|
||||
bmaControls( 0) 0x00
|
||||
Mute Control
|
||||
bmaControls( 1) 0x03
|
||||
bmaControls( 1) 0x00
|
||||
Mute Control
|
||||
Volume Control
|
||||
bmaControls( 2) 0x03
|
||||
bmaControls( 2) 0x00
|
||||
Mute Control
|
||||
Volume Control
|
||||
iFeature 0
|
||||
AudioControl Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
|
||||
bTerminalID 3
|
||||
wTerminalType 0x0101 USB Streaming
|
||||
bAssocTerminal 0
|
||||
bSourceID 5
|
||||
iTerminal 0
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 3
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 0
|
||||
bInterfaceClass 1 Audio
|
||||
bInterfaceSubClass 2 Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 5 USB Digital Audio
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 3
|
||||
bAlternateSetting 1
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 1 Audio
|
||||
bInterfaceSubClass 2 Streaming
|
||||
bInterfaceProtocol 0
|
||||
iInterface 5 USB Digital Audio
|
||||
AudioStreaming Interface Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 1 (AS_GENERAL)
|
||||
bTerminalLink 3
|
||||
bDelay 1 frames
|
||||
wFormatTag 1 PCM
|
||||
AudioStreaming Interface Descriptor:
|
||||
bLength 32
|
||||
bDescriptorType 36
|
||||
bDescriptorSubtype 2 (FORMAT_TYPE)
|
||||
bFormatType 1 (FORMAT_TYPE_I)
|
||||
bNrChannels 2
|
||||
bSubframeSize 2
|
||||
bBitResolution 16
|
||||
bSamFreqType 8 Discrete
|
||||
tSamFreq[ 0] 48000
|
||||
tSamFreq[ 1] 44100
|
||||
tSamFreq[ 2] 24000
|
||||
tSamFreq[ 3] 22050
|
||||
tSamFreq[ 4] 16000
|
||||
tSamFreq[ 5] 12000
|
||||
tSamFreq[ 6] 11025
|
||||
tSamFreq[ 7] 8000
|
||||
Endpoint Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x83 EP 3 IN
|
||||
bmAttributes 13
|
||||
Transfer Type Isochronous
|
||||
Synch Type Synchronous
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x00c8 1x 200 bytes
|
||||
bInterval 4
|
||||
bRefresh 0
|
||||
bSynchAddress 0
|
||||
AudioControl Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 37
|
||||
bDescriptorSubtype 1 (EP_GENERAL)
|
||||
bmAttributes 0x01
|
||||
Sampling Frequency
|
||||
bLockDelayUnits 1 Milliseconds
|
||||
wLockDelay 0 Milliseconds
|
||||
Device Qualifier (for other device speed):
|
||||
bLength 10
|
||||
bDescriptorType 6
|
||||
bcdUSB 2.00
|
||||
bDeviceClass 239 Miscellaneous Device
|
||||
bDeviceSubClass 2 ?
|
||||
bDeviceProtocol 1 Interface Association
|
||||
bMaxPacketSize0 64
|
||||
bNumConfigurations 1
|
||||
Device Status: 0x0000
|
||||
(Bus Powered)
|
||||
BIN
IMX6ULL/doc_pic/13_V4L2/pic/38_uvc_idtable.png
Normal file
BIN
IMX6ULL/doc_pic/13_V4L2/pic/38_uvc_idtable.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 77 KiB |
@@ -20,6 +20,8 @@ GIT简明教程:http://download.100ask.org/tools/Software/git/how_to_use_git.h
|
||||
|
||||
## 2. 收到的建议
|
||||
|
||||
ov13850在驱动中为啥要也要注册notified,同主设备注册的notified有啥区别?这块帮忙讲讲
|
||||
|
||||

|
||||
|
||||
subdev, media control, media framework, vb2 buffer的分配,怎么轮转,怎么跟硬件打交道,然后图像给应用层用
|
||||
|
||||
Reference in New Issue
Block a user