diff --git a/host/class/uvc/usb_host_uvc_2/CMakeLists.txt b/host/class/uvc/usb_host_uvc_2/CMakeLists.txt index 9c313955..67c81e9e 100644 --- a/host/class/uvc/usb_host_uvc_2/CMakeLists.txt +++ b/host/class/uvc/usb_host_uvc_2/CMakeLists.txt @@ -1,18 +1,5 @@ -set(srcs) -set(include) -set(private_include) -# As CONFIG_USB_OTG_SUPPORTED comes from Kconfig, it is not evaluated yet -# when components are being registered. -set(require usb) - -if(CONFIG_USB_OTG_SUPPORTED) - list(APPEND srcs "uvc_host.c" "uvc_descriptors.c" "uvc_frame.c" "uvc_control.c") - list(APPEND include "include") - list(APPEND private_include "private_include" "include/esp_private") -endif() - -idf_component_register(SRCS ${srcs} - INCLUDE_DIRS ${include} - PRIV_INCLUDE_DIRS ${private_include} - REQUIRES ${require} +idf_component_register(SRCS "uvc_host.c" "uvc_descriptor_parsing.c" "uvc_frame.c" "uvc_control.c" + INCLUDE_DIRS include + PRIV_INCLUDE_DIRS private_include include/esp_private + REQUIRES usb ) diff --git a/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/CMakeLists.txt b/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/CMakeLists.txt index 0e0ba5ab..d8c6bbfe 100644 --- a/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/CMakeLists.txt +++ b/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/CMakeLists.txt @@ -1,6 +1,7 @@ -# The following five lines of boilerplate have to be in your project's -# CMakeLists in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.16) - -include($ENV{IDF_PATH}/tools/cmake/project.cmake) -project(basic_uvc_stream) +# The following five lines of boilerplate have to be in your project's +# CMakeLists in this exact order for cmake to work correctly +cmake_minimum_required(VERSION 3.16) + +set(COMPONENTS main) +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(basic_uvc_stream) diff --git a/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/main/CMakeLists.txt b/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/main/CMakeLists.txt index 62c7f7c3..0faedf01 100644 --- a/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/main/CMakeLists.txt +++ b/host/class/uvc/usb_host_uvc_2/examples/basic_uvc_stream/main/CMakeLists.txt @@ -1,2 +1,3 @@ -idf_component_register(SRCS "basic_uvc_stream.c" - INCLUDE_DIRS ".") +idf_component_register(SRCS "basic_uvc_stream.c" + REQUIRES fatfs + INCLUDE_DIRS ".") diff --git a/host/class/uvc/usb_host_uvc_2/host_test/CMakeLists.txt b/host/class/uvc/usb_host_uvc_2/host_test/CMakeLists.txt new file mode 100644 index 00000000..0347c762 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.16) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +set(COMPONENTS main) + +list(APPEND EXTRA_COMPONENT_DIRS + "$ENV{IDF_PATH}/tools/mocks/usb/" + "$ENV{IDF_PATH}/tools/mocks/freertos/" + ) + +project(host_test_usb_uvc) diff --git a/host/class/uvc/usb_host_uvc_2/host_test/README.md b/host/class/uvc/usb_host_uvc_2/host_test/README.md new file mode 100644 index 00000000..1ff2917d --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/README.md @@ -0,0 +1,30 @@ +| Supported Targets | Linux | +| ----------------- | ----- | + +# Description + +This directory contains test code for `USB Host UVC` driver. Namely: +* Descriptor parsing + +Tests are written using [Catch2](https://github.com/catchorg/Catch2) test framework, use CMock, so you must install Ruby on your machine to run them. + +# Build + +Tests build regularly like an idf project. Currently only working on Linux machines. + +``` +idf.py --preview set-target linux +idf.py build +``` + +# Run + +The build produces an executable in the build folder. + +Just run: + +``` +./build/host_test_usb_uvc.elf +``` + +The test executable have some options provided by the test framework. diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/CMakeLists.txt b/host/class/uvc/usb_host_uvc_2/host_test/main/CMakeLists.txt new file mode 100644 index 00000000..6fa86b66 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/CMakeLists.txt @@ -0,0 +1,9 @@ +idf_component_register(SRC_DIRS . + REQUIRES cmock usb + INCLUDE_DIRS . + PRIV_INCLUDE_DIRS "../../private_include" + WHOLE_ARCHIVE) + +# Currently 'main' for IDF_TARGET=linux is defined in freertos component. +# Since we are using a freertos mock here, need to let Catch2 provide 'main'. +target_link_libraries(${COMPONENT_LIB} PRIVATE Catch2WithMain) diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/customer.hpp b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/customer.hpp new file mode 100644 index 00000000..59020347 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/customer.hpp @@ -0,0 +1,1429 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include + +/* + ======================== USB Device ======================== + + +++++++++++++++++ Device Information ++++++++++++++++++ +Device Description : USB Composite Device +Device ID : USB\VID_349C&PID_3307\20210901000000 +Hardware IDs : USB\VID_349C&PID_3307&REV_0301 USB\VID_349C&PID_3307 +Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0047 (GUID_DEVCLASS_USB) +Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.19041.4474 Date: 2024-06-13) +Driver Inf : C:\Windows\inf\usb.inf +Legacy BusType : PNPBus +Class : USB +Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB) +Service : usbccgp +Enumerator : USB +Location Info : Port_#0006.Hub_#0013 +Location IDs : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6) +Container ID : {6120a654-188f-5ceb-accc-eaff9ba0b47c} +Manufacturer Info : (Standard USB Host Controller) +Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) +Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) +Problem Code : 0 +Address : 6 +HcDisableSelectiveSuspend: 0 +EnableSelectiveSuspend : 0 +SelectiveSuspendEnabled : 0 +EnhancedPowerMgmtEnabled : 0 +IdleInWorkingState : 0 +WakeFromSleepState : 0 +Power State : D0 (supported: D0, D3, wake from D0) + Child Device 1 : HD video (USB Video Device) + Device Path : \\?\USB#VID_349C&PID_3307&MI_00#b&26a56595&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) + Kernel Name : \Device\0000035e + Device ID : USB\VID_349C&PID_3307&MI_00\B&26A56595&0&0000 + Class : Camera + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0004 (GUID_DEVCLASS_CAMERA) + Service : usbvideo + Location : 0005.0000.0004.001.003.001.003.006.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(0) PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6)#USB(6) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(0) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6)#USB(6) + Child Device 2 : HD audio (USB Audio Device) + Device Path : \\?\USB#VID_349C&PID_3307&MI_02#b&26a56595&0&0002#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) + Kernel Name : \Device\0000035f + Device ID : USB\VID_349C&PID_3307&MI_02\B&26A56595&0&0002 + Class : MEDIA + Driver KeyName : {4d36e96c-e325-11ce-bfc1-08002be10318}\0006 (GUID_DEVCLASS_MEDIA) + Service : usbaudio + Location : 0005.0000.0004.001.003.001.003.006.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(2) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(2) + Child Device 1 : Speakers (HD audio ) (Audio Endpoint) + Device ID : SWD\MMDEVAPI\{0.0.0.00000000}.{1F0BF8E7-7F03-4A2C-9183-9B9B0979B4DF} + Class : AudioEndpoint + Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0030 (AUDIOENDPOINT_CLASS_UUID) + Child Device 2 : Microphone (HD audio ) (Audio Endpoint) + Device ID : SWD\MMDEVAPI\{0.0.1.00000000}.{3EBDEB23-D5D6-4B4D-8EED-94904D2B527B} + Class : AudioEndpoint + Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0036 (AUDIOENDPOINT_CLASS_UUID) + + +++++++++++++++++ Registry USB Flags +++++++++++++++++ +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\349C33070301 + osvc : REG_BINARY 00 00 + + ---------------- Connection Information --------------- +Connection Index : 0x06 (Port 6) +Connection Status : 0x01 (DeviceConnected) +Current Config Value : 0x01 (Configuration 1) +Device Address : 0x0F (15) +Is Hub : 0x00 (no) +Device Bus Speed : 0x01 (Full-Speed) +Number Of Open Pipes : 0x02 (2 pipes to data endpoints) +Pipe[0] : EndpointID=4 Direction=IN ScheduleOffset=0 Type=Interrupt +Pipe[1] : EndpointID=1 Direction=IN ScheduleOffset=0 Type=Bulk +Data (HexDump) : 06 00 00 00 12 01 00 02 EF 02 01 40 9C 34 07 33 ...........@.4.3 + 01 03 01 02 03 01 01 01 00 0F 00 02 00 00 00 01 ................ + 00 00 00 07 05 84 03 0A 00 05 00 00 00 00 07 05 ................ + 81 02 40 00 00 00 00 00 00 ..@...... + + --------------- Connection Information V2 ------------- +Connection Index : 0x06 (6) +Length : 0x10 (16 bytes) +SupportedUsbProtocols : 0x03 + Usb110 : 1 (yes, port supports USB 1.1) + Usb200 : 1 (yes, port supports USB 2.0) + Usb300 : 0 (no, port not supports USB 3.0) + ReservedMBZ : 0x00 +Flags : 0x00 + DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher) + DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher) + DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher) + DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher) + ReservedMBZ : 0x00 +Data (HexDump) : 06 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ + + ---------------------- Device Descriptor ---------------------- +bLength : 0x12 (18 bytes) +bDescriptorType : 0x01 (Device Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 bytes) +idVendor : 0x349C +idProduct : 0x3307 +bcdDevice : 0x0301 +iManufacturer : 0x01 (String Descriptor 1) + Language 0x0409 : "Generic" +iProduct : 0x02 (String Descriptor 2) + Language 0x0409 : "HD video " +iSerialNumber : 0x03 (String Descriptor 3) + Language 0x0409 : "20210901000000" +bNumConfigurations : 0x01 (1 Configuration) +Data (HexDump) : 12 01 00 02 EF 02 01 40 9C 34 07 33 01 03 01 02 .......@.4.3.... + 03 01 .. + + ------------------ Configuration Descriptor ------------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x02 (Configuration Descriptor) +wTotalLength : 0x01E4 (484 bytes) +bNumInterfaces : 0x05 (5 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x00 (No String Descriptor) +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0x80 (256 mA) +Data (HexDump) : 09 02 E4 01 05 01 00 80 80 08 0B 00 02 0E 03 00 ................ + 02 09 04 00 00 01 0E 01 00 02 0D 24 01 00 01 33 ...........$...3 + 00 00 36 6E 01 01 01 12 24 02 01 01 02 00 00 00 ..6n....$....... + 00 00 00 00 00 03 00 00 00 0B 24 05 02 01 00 00 ..........$..... + 02 7F 17 00 09 24 03 03 01 01 00 02 00 07 05 84 .....$.......... + 03 0A 00 05 05 25 03 40 00 09 04 01 00 01 0E 02 .....%.@........ + 00 00 07 05 81 02 40 00 00 0E 24 01 01 BD 00 81 ......@...$..... + 00 03 02 01 00 01 00 0B 24 06 01 04 01 01 00 00 ........$....... + 00 00 22 24 07 01 01 00 05 D0 02 00 80 97 06 00 .."$............ + 00 2F 0D 00 20 1C 00 2A 2C 0A 00 02 2A 2C 0A 00 ./.. ..*,...*,.. + 40 42 0F 00 22 24 07 02 01 20 03 E0 01 00 80 A9 @B.."$... ...... + 03 00 00 53 07 00 B8 0B 00 20 A1 07 00 02 20 A1 ...S..... .... . + 07 00 2A 2C 0A 00 22 24 07 03 01 80 02 E0 01 00 ..*,.."$........ + 80 A9 03 00 00 53 07 00 60 09 00 80 1A 06 00 02 .....S..`....... + 80 1A 06 00 2A 2C 0A 00 22 24 07 04 01 E0 01 40 ....*,.."$.....@ + 01 00 C0 D4 01 00 80 A9 03 00 B0 04 00 80 1A 06 ................ + 00 02 80 1A 06 00 2A 2C 0A 00 16 24 03 00 04 00 ......*,...$.... + 05 D0 02 20 03 E0 01 80 02 E0 01 E0 01 40 01 00 ... .........@.. + 06 24 0D 01 01 04 08 0B 02 03 01 00 00 04 09 04 .$.............. + 02 00 00 01 01 00 04 0A 24 01 00 01 45 00 02 03 ........$...E... + 04 0C 24 02 04 01 02 00 01 01 00 00 00 08 24 06 ..$...........$. + 05 04 01 03 00 09 24 03 06 01 01 00 05 00 0C 24 ......$........$ + 02 07 01 01 00 01 01 00 00 00 09 24 06 08 07 01 ...........$.... + 01 02 00 09 24 03 09 01 03 07 08 00 09 04 03 00 ....$........... + 00 01 02 00 00 09 04 03 01 01 01 02 00 00 07 24 ...............$ + 01 06 01 01 00 0B 24 02 01 01 02 10 01 80 3E 00 ......$.......>. + 09 05 82 0D 64 00 01 00 00 07 25 01 01 00 00 00 ....d.....%..... + 09 04 04 00 00 01 02 00 00 09 04 04 01 01 01 02 ................ + 00 00 07 24 01 07 01 01 00 0B 24 02 01 01 02 10 ...$......$..... + 01 80 3E 00 09 05 03 09 64 00 01 00 00 07 25 01 ..>.....d.....%. + 01 01 01 00 .... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x02 (String Descriptor 2) + Language 0x0409 : "HD video " +Data (HexDump) : 08 0B 00 02 0E 03 00 02 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x02 (String Descriptor 2) + Language 0x0409 : "HD video " +Data (HexDump) : 09 04 00 00 01 0E 01 00 02 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x0033 (51 bytes) +dwClockFreq : 0x016E3600 (24 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 00 01 33 00 00 36 6E 01 01 01 .$...3..6n... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x00, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 0 no - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 00 .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x0000 +bControlSize : 0x02 +bmControls : 0x7F, 0x17 + D0 : 1 yes - Brightness + D1 : 1 yes - Contrast + D2 : 1 yes - Hue + D3 : 1 yes - Saturation + D4 : 1 yes - Sharpness + D5 : 1 yes - Gamma + D6 : 1 yes - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 1 yes - Backlight Compensation + D9 : 1 yes - Gain + D10 : 1 yes - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 1 yes - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +Data (HexDump) : 0B 24 05 02 01 00 00 02 7F 17 00 .$......... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x02 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 03 01 01 00 02 00 .$....... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x84 (Direction=IN EndpointID=4) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x000A (10 bytes) +bInterval : 0x05 (5 ms) +Data (HexDump) : 07 05 84 03 0A 00 05 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0040 (64 bytes) +Data (HexDump) : 05 25 03 40 00 .%.@. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 00 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0040 (64 bytes) +bInterval : 0x00 (ignored) +Data (HexDump) : 07 05 81 02 40 00 00 ....@.. + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x00BD (189 bytes) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x03 +bStillCaptureMethod : 0x02 (Still Capture Method 2) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 BD 00 81 00 03 02 01 00 01 00 .$............ + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x04 (4) +bmFlags : 0x01 (Sample size is fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 01 04 01 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x01 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxBitRate : 0x0D2F0000 (221184000 bps -> 27.648 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +Data (HexDump) : 22 24 07 01 01 00 05 D0 02 00 80 97 06 00 00 2F "$............./ + 0D 00 20 1C 00 2A 2C 0A 00 02 2A 2C 0A 00 40 42 .. ..*,...*,..@B + 0F 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x03A98000 (61440000 bps -> 7.680 MB/s) +dwMaxBitRate : 0x07530000 (122880000 bps -> 15.360 MB/s) +dwMaxVideoFrameBufferSize: 0x000BB800 (768000 bytes) +dwDefaultFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 22 24 07 02 01 20 03 E0 01 00 80 A9 03 00 00 53 "$... .........S + 07 00 B8 0B 00 20 A1 07 00 02 20 A1 07 00 2A 2C ..... .... ...*, + 0A 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x03A98000 (61440000 bps -> 7.680 MB/s) +dwMaxBitRate : 0x07530000 (122880000 bps -> 15.360 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00061A80 (40.0000 ms -> 25.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 22 24 07 03 01 80 02 E0 01 00 80 A9 03 00 00 53 "$.............S + 07 00 60 09 00 80 1A 06 00 02 80 1A 06 00 2A 2C ..`...........*, + 0A 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x01 +wWidth : 0x01E0 (480) +wHeight : 0x0140 (320) +dwMinBitRate : 0x01D4C000 (30720000 bps -> 3.840 MB/s) +dwMaxBitRate : 0x03A98000 (61440000 bps -> 7.680 MB/s) +dwMaxVideoFrameBufferSize: 0x0004B000 (307200 bytes) +dwDefaultFrameInterval : 0x00061A80 (40.0000 ms -> 25.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 22 24 07 04 01 E0 01 40 01 00 C0 D4 01 00 80 A9 "$.....@........ + 03 00 B0 04 00 80 1A 06 00 02 80 1A 06 00 2A 2C ..............*, + 0A 00 .. + + ---------- Still Image Frame Type Descriptor ---------- +bLength : 0x16 (22 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x03 (Still Image Frame Type) +bEndpointAddress : 0x00 (no endpoint) +bNumImageSizePatterns : 0x04 (4 Image Size Patterns) +1: wWidth x wHeight : 0x0500 x 0x02D0 (1280 x 720) +2: wWidth x wHeight : 0x0320 x 0x01E0 (800 x 480) +3: wWidth x wHeight : 0x0280 x 0x01E0 (640 x 480) +4: wWidth x wHeight : 0x01E0 x 0x0140 (480 x 320) +bNumCompressionPattern : 0x00 +Data (HexDump) : 16 24 03 00 04 00 05 D0 02 20 03 E0 01 80 02 E0 .$....... ...... + 01 E0 01 40 01 00 ...@.. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x03 +bFunctionClass : 0x01 (Audio) +bFunctionSubClass : 0x00 (undefined) +bFunctionProtocol : 0x00 +iFunction : 0x04 (String Descriptor 4) + Language 0x0409 : "HD audio " +Data (HexDump) : 08 0B 02 03 01 00 00 04 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x01 (Audio Control) +bInterfaceProtocol : 0x00 +iInterface : 0x04 (String Descriptor 4) + Language 0x0409 : "HD audio " +Data (HexDump) : 09 04 02 00 00 01 01 00 04 ......... + + ------ Audio Control Interface Header Descriptor ------ +bLength : 0x0A (10 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 (Header) +bcdADC : 0x0100 +wTotalLength : 0x0045 (69 bytes) +bInCollection : 0x02 +baInterfaceNr[1] : 0x03 +baInterfaceNr[2] : 0x04 +Data (HexDump) : 0A 24 01 00 01 45 00 02 03 04 .$...E.... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x04 +wTerminalType : 0x0201 (Microphone) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x00 (No String Descriptor) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 0C 24 02 04 01 02 00 01 01 00 00 00 .$.......... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x05 (5) +bSourceID : 0x04 (4) +bControlSize : 0x01 (1 byte per control) +bmaControls[0] : 0x03 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +iFeature : 0x00 (No String Descriptor) +Data (HexDump) : 08 24 06 05 04 01 03 00 .$...... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x06 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 (0) +bSourceID : 0x05 (5) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 03 06 01 01 00 05 00 .$....... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x07 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x00 (No String Descriptor) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 0C 24 02 07 01 01 00 01 01 00 00 00 .$.......... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x08 (8) +bSourceID : 0x07 (7) +bControlSize : 0x01 (1 byte per control) +bmaControls[0] : 0x01 + D0: Mute : 1 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +bmaControls[1] : 0x02 + D0: Mute : 0 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +iFeature : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 06 08 07 01 01 02 00 .$....... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x09 +wTerminalType : 0x0301 (Speaker) +bAssocTerminal : 0x07 (7) +bSourceID : 0x08 (8) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 03 09 01 03 07 08 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 00 00 01 02 00 00 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 01 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x06 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 06 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x03E80 (16000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 3E 00 .$.......>. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmAttributes : 0x0D (TransferType=Isochronous SyncType=Synchronous EndpointType=Data) +wMaxPacketSize : 0x0064 (100 bytes) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 82 0D 64 00 01 00 00 ....d.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x04 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 04 00 00 01 02 00 00 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x04 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 04 01 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x07 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 07 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x03E80 (16000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 3E 00 .$.......>. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x03 (Direction=OUT EndpointID=3) +bmAttributes : 0x09 (TransferType=Isochronous SyncType=Adaptive EndpointType=Data) +wMaxPacketSize : 0x0064 (100 bytes) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 03 09 64 00 01 00 00 ....d.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x01 (Milliseconds) +wLockDelay : 0x0001 (1 ms) +Data (HexDump) : 07 25 01 01 01 01 00 .%..... + + ----------------- Device Qualifier Descriptor ----------------- +bLength : 0x0A (10 bytes) +bDescriptorType : 0x06 (Device_qualifier Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0x00 (defined by the interface descriptors) +bDeviceSubClass : 0x00 +bDeviceProtocol : 0x00 +bMaxPacketSize0 : 0x40 (64 Bytes) +bNumConfigurations : 0x01 (1 other-speed configuration) +bReserved : 0x00 +Data (HexDump) : 0A 06 00 02 00 00 00 40 01 00 .......@.. + + ------------ Other Speed Configuration Descriptor ------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x07 (Other_speed_configuration Descriptor) +wTotalLength : 0x01E4 (484 bytes) +bNumInterfaces : 0x05 (5 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x00 (No String Descriptor) +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0x80 (256 mA) +Data (HexDump) : 09 07 E4 01 05 01 00 80 80 08 0B 00 02 0E 03 00 ................ + 02 09 04 00 00 01 0E 01 00 02 0D 24 01 00 01 33 ...........$...3 + 00 00 36 6E 01 01 01 12 24 02 01 01 02 00 00 00 ..6n....$....... + 00 00 00 00 00 03 00 00 00 0B 24 05 02 01 00 00 ..........$..... + 02 7F 17 00 09 24 03 03 01 01 00 02 00 07 05 84 .....$.......... + 03 0A 00 05 05 25 03 40 00 09 04 01 00 01 0E 02 .....%.@........ + 00 00 07 05 81 02 40 00 00 0E 24 01 01 BD 00 81 ......@...$..... + 00 03 02 01 00 01 00 0B 24 06 01 04 01 01 00 00 ........$....... + 00 00 22 24 07 01 01 00 05 D0 02 00 80 97 06 00 .."$............ + 00 2F 0D 00 20 1C 00 2A 2C 0A 00 02 2A 2C 0A 00 ./.. ..*,...*,.. + 40 42 0F 00 22 24 07 02 01 20 03 E0 01 00 80 A9 @B.."$... ...... + 03 00 00 53 07 00 B8 0B 00 20 A1 07 00 02 20 A1 ...S..... .... . + 07 00 2A 2C 0A 00 22 24 07 03 01 80 02 E0 01 00 ..*,.."$........ + 80 A9 03 00 00 53 07 00 60 09 00 80 1A 06 00 02 .....S..`....... + 80 1A 06 00 2A 2C 0A 00 22 24 07 04 01 E0 01 40 ....*,.."$.....@ + 01 00 C0 D4 01 00 80 A9 03 00 B0 04 00 80 1A 06 ................ + 00 02 80 1A 06 00 2A 2C 0A 00 16 24 03 00 04 00 ......*,...$.... + 05 D0 02 20 03 E0 01 80 02 E0 01 E0 01 40 01 00 ... .........@.. + 06 24 0D 01 01 04 08 0B 02 03 01 00 00 04 09 04 .$.............. + 02 00 00 01 01 00 04 0A 24 01 00 01 45 00 02 03 ........$...E... + 04 0C 24 02 04 01 02 00 01 01 00 00 00 08 24 06 ..$...........$. + 05 04 01 03 00 09 24 03 06 01 01 00 05 00 0C 24 ......$........$ + 02 07 01 01 00 01 01 00 00 00 09 24 06 08 07 01 ...........$.... + 01 02 00 09 24 03 09 01 03 07 08 00 09 04 03 00 ....$........... + 00 01 02 00 00 09 04 03 01 01 01 02 00 00 07 24 ...............$ + 01 06 01 01 00 0B 24 02 01 01 02 10 01 80 3E 00 ......$.......>. + 09 05 82 0D 64 00 01 00 00 07 25 01 01 00 00 00 ....d.....%..... + 09 04 04 00 00 01 02 00 00 09 04 04 01 01 01 02 ................ + 00 00 07 24 01 07 01 01 00 0B 24 02 01 01 02 10 ...$......$..... + 01 80 3E 00 09 05 03 09 64 00 01 00 00 07 25 01 ..>.....d.....%. + 01 01 01 00 .... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x02 (String Descriptor 2) + Language 0x0409 : "HD video " +Data (HexDump) : 08 0B 00 02 0E 03 00 02 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x02 (String Descriptor 2) + Language 0x0409 : "HD video " +Data (HexDump) : 09 04 00 00 01 0E 01 00 02 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x0033 (51 bytes) +dwClockFreq : 0x016E3600 (24 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 00 01 33 00 00 36 6E 01 01 01 .$...3..6n... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x00, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 0 no - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 00 .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x0000 +bControlSize : 0x02 +bmControls : 0x7F, 0x17 + D0 : 1 yes - Brightness + D1 : 1 yes - Contrast + D2 : 1 yes - Hue + D3 : 1 yes - Saturation + D4 : 1 yes - Sharpness + D5 : 1 yes - Gamma + D6 : 1 yes - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 1 yes - Backlight Compensation + D9 : 1 yes - Gain + D10 : 1 yes - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 1 yes - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +Data (HexDump) : 0B 24 05 02 01 00 00 02 7F 17 00 .$......... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x02 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 03 01 01 00 02 00 .$....... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x84 (Direction=IN EndpointID=4) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x000A (10 bytes) +bInterval : 0x05 (5 ms) +Data (HexDump) : 07 05 84 03 0A 00 05 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0040 (64 bytes) +Data (HexDump) : 05 25 03 40 00 .%.@. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 00 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0040 (64 bytes) +bInterval : 0x00 (ignored) +Data (HexDump) : 07 05 81 02 40 00 00 ....@.. + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x00BD (189 bytes) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x03 +bStillCaptureMethod : 0x02 (Still Capture Method 2) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 BD 00 81 00 03 02 01 00 01 00 .$............ + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x04 (4) +bmFlags : 0x01 (Sample size is fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 01 04 01 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x01 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxBitRate : 0x0D2F0000 (221184000 bps -> 27.648 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +Data (HexDump) : 22 24 07 01 01 00 05 D0 02 00 80 97 06 00 00 2F "$............./ + 0D 00 20 1C 00 2A 2C 0A 00 02 2A 2C 0A 00 40 42 .. ..*,...*,..@B + 0F 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x03A98000 (61440000 bps -> 7.680 MB/s) +dwMaxBitRate : 0x07530000 (122880000 bps -> 15.360 MB/s) +dwMaxVideoFrameBufferSize: 0x000BB800 (768000 bytes) +dwDefaultFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 22 24 07 02 01 20 03 E0 01 00 80 A9 03 00 00 53 "$... .........S + 07 00 B8 0B 00 20 A1 07 00 02 20 A1 07 00 2A 2C ..... .... ...*, + 0A 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x03A98000 (61440000 bps -> 7.680 MB/s) +dwMaxBitRate : 0x07530000 (122880000 bps -> 15.360 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00061A80 (40.0000 ms -> 25.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 22 24 07 03 01 80 02 E0 01 00 80 A9 03 00 00 53 "$.............S + 07 00 60 09 00 80 1A 06 00 02 80 1A 06 00 2A 2C ..`...........*, + 0A 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x01 +wWidth : 0x01E0 (480) +wHeight : 0x0140 (320) +dwMinBitRate : 0x01D4C000 (30720000 bps -> 3.840 MB/s) +dwMaxBitRate : 0x03A98000 (61440000 bps -> 7.680 MB/s) +dwMaxVideoFrameBufferSize: 0x0004B000 (307200 bytes) +dwDefaultFrameInterval : 0x00061A80 (40.0000 ms -> 25.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 22 24 07 04 01 E0 01 40 01 00 C0 D4 01 00 80 A9 "$.....@........ + 03 00 B0 04 00 80 1A 06 00 02 80 1A 06 00 2A 2C ..............*, + 0A 00 .. + + ---------- Still Image Frame Type Descriptor ---------- +bLength : 0x16 (22 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x03 (Still Image Frame Type) +bEndpointAddress : 0x00 (no endpoint) +bNumImageSizePatterns : 0x04 (4 Image Size Patterns) +1: wWidth x wHeight : 0x0500 x 0x02D0 (1280 x 720) +2: wWidth x wHeight : 0x0320 x 0x01E0 (800 x 480) +3: wWidth x wHeight : 0x0280 x 0x01E0 (640 x 480) +4: wWidth x wHeight : 0x01E0 x 0x0140 (480 x 320) +bNumCompressionPattern : 0x00 +Data (HexDump) : 16 24 03 00 04 00 05 D0 02 20 03 E0 01 80 02 E0 .$....... ...... + 01 E0 01 40 01 00 ...@.. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x03 +bFunctionClass : 0x01 (Audio) +bFunctionSubClass : 0x00 (undefined) +bFunctionProtocol : 0x00 +iFunction : 0x04 (String Descriptor 4) + Language 0x0409 : "HD audio " +Data (HexDump) : 08 0B 02 03 01 00 00 04 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x01 (Audio Control) +bInterfaceProtocol : 0x00 +iInterface : 0x04 (String Descriptor 4) + Language 0x0409 : "HD audio " +Data (HexDump) : 09 04 02 00 00 01 01 00 04 ......... + + ------ Audio Control Interface Header Descriptor ------ +bLength : 0x0A (10 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 (Header) +bcdADC : 0x0100 +wTotalLength : 0x0045 (69 bytes) +bInCollection : 0x02 +baInterfaceNr[1] : 0x03 +baInterfaceNr[2] : 0x04 +Data (HexDump) : 0A 24 01 00 01 45 00 02 03 04 .$...E.... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x04 +wTerminalType : 0x0201 (Microphone) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x00 (No String Descriptor) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 0C 24 02 04 01 02 00 01 01 00 00 00 .$.......... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x05 (5) +bSourceID : 0x04 (4) +bControlSize : 0x01 (1 byte per control) +bmaControls[0] : 0x03 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +iFeature : 0x00 (No String Descriptor) +Data (HexDump) : 08 24 06 05 04 01 03 00 .$...... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x06 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 (0) +bSourceID : 0x05 (5) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 03 06 01 01 00 05 00 .$....... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x07 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x00 (No String Descriptor) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 0C 24 02 07 01 01 00 01 01 00 00 00 .$.......... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x08 (8) +bSourceID : 0x07 (7) +bControlSize : 0x01 (1 byte per control) +bmaControls[0] : 0x01 + D0: Mute : 1 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +bmaControls[1] : 0x02 + D0: Mute : 0 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +iFeature : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 06 08 07 01 01 02 00 .$....... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x09 +wTerminalType : 0x0301 (Speaker) +bAssocTerminal : 0x07 (7) +bSourceID : 0x08 (8) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 03 09 01 03 07 08 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 00 00 01 02 00 00 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 01 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x06 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 06 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x03E80 (16000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 3E 00 .$.......>. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmAttributes : 0x0D (TransferType=Isochronous SyncType=Synchronous EndpointType=Data) +wMaxPacketSize : 0x0064 (100 bytes) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 82 0D 64 00 01 00 00 ....d.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x04 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 04 00 00 01 02 00 00 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x04 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 04 01 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x07 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 07 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x03E80 (16000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 3E 00 .$.......>. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x03 (Direction=OUT EndpointID=3) +bmAttributes : 0x09 (TransferType=Isochronous SyncType=Adaptive EndpointType=Data) +wMaxPacketSize : 0x0064 (100 bytes) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 03 09 64 00 01 00 00 ....d.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x01 (Milliseconds) +wLockDelay : 0x0001 (1 ms) +Data (HexDump) : 07 25 01 01 01 01 00 .%..... + + -------------------- String Descriptors ------------------- + ------ String Descriptor 0 ------ +bLength : 0x04 (4 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language ID[0] : 0x0409 (English - United States) +Data (HexDump) : 04 03 09 04 .... + ------ String Descriptor 1 ------ +bLength : 0x10 (16 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Generic" +Data (HexDump) : 10 03 47 00 65 00 6E 00 65 00 72 00 69 00 63 00 ..G.e.n.e.r.i.c. + ------ String Descriptor 2 ------ +bLength : 0x16 (22 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "HD video " *!*CAUTION trailing space characters +Data (HexDump) : 16 03 48 00 44 00 20 00 76 00 69 00 64 00 65 00 ..H.D. .v.i.d.e. + 6F 00 20 00 20 00 o. . . + ------ String Descriptor 3 ------ +bLength : 0x1E (30 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "20210901000000" +Data (HexDump) : 1E 03 32 00 30 00 32 00 31 00 30 00 39 00 30 00 ..2.0.2.1.0.9.0. + 31 00 30 00 30 00 30 00 30 00 30 00 30 00 1.0.0.0.0.0.0. + ------ String Descriptor 4 ------ +bLength : 0x16 (22 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "HD audio " *!*CAUTION trailing space characters +Data (HexDump) : 16 03 48 00 44 00 20 00 61 00 75 00 64 00 69 00 ..H.D. .a.u.d.i. + 6F 00 20 00 20 00 o. . . + +*/ + +namespace customer_camera { +const uint8_t dev_desc[] = { + 0x12, 0x01, 0x00, 0x02, 0xEF, 0x02, 0x01, 0x40, 0x9C, 0x34, 0x07, 0x33, 0x01, 0x03, 0x01, 0x02, + 0x03, 0x01 +}; + +const uint8_t cfg_desc[] = { + 0x09, 0x02, 0xE4, 0x01, 0x05, 0x01, 0x00, 0x80, 0x80, 0x08, 0x0B, 0x00, 0x02, 0x0E, 0x03, 0x00, + 0x02, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0E, 0x01, 0x00, 0x02, 0x0D, 0x24, 0x01, 0x00, 0x01, 0x33, + 0x00, 0x00, 0x36, 0x6E, 0x01, 0x01, 0x01, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x24, 0x05, 0x02, 0x01, 0x00, 0x00, + 0x02, 0x7F, 0x17, 0x00, 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x00, 0x07, 0x05, 0x84, + 0x03, 0x0A, 0x00, 0x05, 0x05, 0x25, 0x03, 0x40, 0x00, 0x09, 0x04, 0x01, 0x00, 0x01, 0x0E, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x02, 0x40, 0x00, 0x00, 0x0E, 0x24, 0x01, 0x01, 0xBD, 0x00, 0x81, + 0x00, 0x03, 0x02, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x24, 0x06, 0x01, 0x04, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x22, 0x24, 0x07, 0x01, 0x01, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x80, 0x97, 0x06, 0x00, + 0x00, 0x2F, 0x0D, 0x00, 0x20, 0x1C, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x02, 0x2A, 0x2C, 0x0A, 0x00, + 0x40, 0x42, 0x0F, 0x00, 0x22, 0x24, 0x07, 0x02, 0x01, 0x20, 0x03, 0xE0, 0x01, 0x00, 0x80, 0xA9, + 0x03, 0x00, 0x00, 0x53, 0x07, 0x00, 0xB8, 0x0B, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x02, 0x20, 0xA1, + 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x22, 0x24, 0x07, 0x03, 0x01, 0x80, 0x02, 0xE0, 0x01, 0x00, + 0x80, 0xA9, 0x03, 0x00, 0x00, 0x53, 0x07, 0x00, 0x60, 0x09, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x02, + 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x22, 0x24, 0x07, 0x04, 0x01, 0xE0, 0x01, 0x40, + 0x01, 0x00, 0xC0, 0xD4, 0x01, 0x00, 0x80, 0xA9, 0x03, 0x00, 0xB0, 0x04, 0x00, 0x80, 0x1A, 0x06, + 0x00, 0x02, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x16, 0x24, 0x03, 0x00, 0x04, 0x00, + 0x05, 0xD0, 0x02, 0x20, 0x03, 0xE0, 0x01, 0x80, 0x02, 0xE0, 0x01, 0xE0, 0x01, 0x40, 0x01, 0x00, + 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, 0x08, 0x0B, 0x02, 0x03, 0x01, 0x00, 0x00, 0x04, 0x09, 0x04, + 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x04, 0x0A, 0x24, 0x01, 0x00, 0x01, 0x45, 0x00, 0x02, 0x03, + 0x04, 0x0C, 0x24, 0x02, 0x04, 0x01, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x08, 0x24, 0x06, + 0x05, 0x04, 0x01, 0x03, 0x00, 0x09, 0x24, 0x03, 0x06, 0x01, 0x01, 0x00, 0x05, 0x00, 0x0C, 0x24, + 0x02, 0x07, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x09, 0x24, 0x06, 0x08, 0x07, 0x01, + 0x01, 0x02, 0x00, 0x09, 0x24, 0x03, 0x09, 0x01, 0x03, 0x07, 0x08, 0x00, 0x09, 0x04, 0x03, 0x00, + 0x00, 0x01, 0x02, 0x00, 0x00, 0x09, 0x04, 0x03, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, 0x24, + 0x01, 0x06, 0x01, 0x01, 0x00, 0x0B, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 0x80, 0x3E, 0x00, + 0x09, 0x05, 0x82, 0x0D, 0x64, 0x00, 0x01, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x09, 0x04, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x09, 0x04, 0x04, 0x01, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x07, 0x24, 0x01, 0x07, 0x01, 0x01, 0x00, 0x0B, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, + 0x01, 0x80, 0x3E, 0x00, 0x09, 0x05, 0x03, 0x09, 0x64, 0x00, 0x01, 0x00, 0x00, 0x07, 0x25, 0x01, + 0x01, 0x01, 0x00 +}; +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/customer_dual.hpp b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/customer_dual.hpp new file mode 100644 index 00000000..4e785a93 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/customer_dual.hpp @@ -0,0 +1,2722 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include + +/* + ======================== USB Device ======================== + + +++++++++++++++++ Device Information ++++++++++++++++++ +Device Description : USB Composite Device +Device ID : USB\VID_2207&PID_0018\2D312FF4BB1927AF +Hardware IDs : USB\VID_2207&PID_0018&REV_0310 USB\VID_2207&PID_0018 +Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0097 (GUID_DEVCLASS_USB) +Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.19041.4355 Date: 2024-05-01) +Driver Inf : C:\Windows\inf\usb.inf +Legacy BusType : PNPBus +Class : USB +Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB) +Service : usbccgp +Enumerator : USB +Location Info : Port_#0002.Hub_#0012 +Location IDs : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(2), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(2) +Container ID : {c04c3c33-9149-5d5b-8d47-79610abb2768} +Manufacturer Info : (Standard USB Host Controller) +Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) +Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) +Problem Code : 0 +Address : 2 +HcDisableSelectiveSuspend: 0 +EnableSelectiveSuspend : 0 +SelectiveSuspendEnabled : 0 +EnhancedPowerMgmtEnabled : 0 +IdleInWorkingState : 0 +WakeFromSleepState : 0 +Power State : D0 (supported: D0, D3, wake from D0) + Child Device 1 : KAADAS MJPG Carmera + (USB Video Device) + Device Path : \\?\USB#VID_2207&PID_0018&MI_00#a&32306b0d&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (STATIC_KSCATEGORY_VIDEO_CAMERA) + Kernel Name : \Device\000001d3 + Device ID : USB\VID_2207&PID_0018&MI_00\A&32306B0D&0&0000 + Class : Camera + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0008 (GUID_DEVCLASS_CAMERA) + Service : usbvideo + Location : 0005.0000.0004.001.003.004.002.000.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(2)#USBMI(0) PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(2)#USB(2) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(2)#USBMI(0) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(2)#USB(2) + Child Device 2 : KAADAS Video Carmera + (USB Video Device) + Device Path : \\?\USB#VID_2207&PID_0018&MI_02#a&32306b0d&0&0002#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) + Kernel Name : \Device\000001d4 + Device ID : USB\VID_2207&PID_0018&MI_02\A&32306B0D&0&0002 + Class : Camera + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0009 (GUID_DEVCLASS_CAMERA) + Service : usbvideo + Location : 0005.0000.0004.001.003.004.002.000.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(2)#USBMI(2) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(2)#USBMI(2) + Child Device 3 : USB Serial Device + Device Path : \\?\USB#VID_2207&PID_0018&MI_04#a&32306b0d&0&0004#{86e0d1e0-8089-11d0-9ce4-08003e301f73} (GUID_DEVINTERFACE_COMPORT) + Kernel Name : \Device\000001d5 + Device ID : USB\VID_2207&PID_0018&MI_04\A&32306B0D&0&0004 + Class : Ports + Driver KeyName : {4d36e978-e325-11ce-bfc1-08002be10318}\0007 (GUID_DEVCLASS_PORTS) + Service : usbser + Location : 0005.0000.0004.001.003.004.002.000.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(2)#USBMI(4) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(2)#USBMI(4) + COM-Port : COM12 (\Device\USBSER000) + Child Device 4 : Source/Sink (USB Audio Device) + Device Path : \\?\USB#VID_2207&PID_0018&MI_06#a&32306b0d&0&0006#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) + Kernel Name : \Device\000001d6 + Device ID : USB\VID_2207&PID_0018&MI_06\A&32306B0D&0&0006 + Class : MEDIA + Driver KeyName : {4d36e96c-e325-11ce-bfc1-08002be10318}\0013 (GUID_DEVCLASS_MEDIA) + Service : usbaudio + Location : 0005.0000.0004.001.003.004.002.000.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(2)#USBMI(6) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(2)#USBMI(6) + Child Device 1 : Speakers (Source/Sink) (Audio Endpoint) + Device ID : SWD\MMDEVAPI\{0.0.0.00000000}.{FB9EA8ED-5B90-4156-8500-5E012F8687F3} + Class : AudioEndpoint + Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0043 (AUDIOENDPOINT_CLASS_UUID) + Child Device 2 : Capture Input terminal (Source/Sink) (Audio Endpoint) + Device ID : SWD\MMDEVAPI\{0.0.1.00000000}.{2EA6231B-3575-483A-81F1-06E3D25AEFFB} + Class : AudioEndpoint + Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0040 (AUDIOENDPOINT_CLASS_UUID) + + +++++++++++++++++ Registry USB Flags +++++++++++++++++ +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\220700180310 + osvc : REG_BINARY 00 00 + + ---------------- Connection Information --------------- +Connection Index : 0x02 (Port 2) +Connection Status : 0x01 (DeviceConnected) +Current Config Value : 0x01 (Configuration 1) +Device Address : 0x09 (9) +Is Hub : 0x00 (no) +Device Bus Speed : 0x02 (High-Speed) +Number Of Open Pipes : 0x06 (6 pipes to data endpoints) +Pipe[0] : EndpointID=1 Direction=IN ScheduleOffset=0 Type=Interrupt +Pipe[1] : EndpointID=3 Direction=IN ScheduleOffset=0 Type=Interrupt +Pipe[2] : EndpointID=6 Direction=IN ScheduleOffset=0 Type=Interrupt +Pipe[3] : EndpointID=5 Direction=IN ScheduleOffset=0 Type=Bulk +Pipe[4] : EndpointID=1 Direction=OUT ScheduleOffset=0 Type=Bulk +Pipe[5] : EndpointID=7 Direction=IN ScheduleOffset=0 Type=Interrupt +Data (HexDump) : 02 00 00 00 12 01 00 02 EF 02 01 40 07 22 18 00 ...........@.".. + 10 03 01 02 03 01 01 02 00 09 00 06 00 00 00 01 ................ + 00 00 00 07 05 81 03 10 00 08 00 00 00 00 07 05 ................ + 83 03 10 00 08 00 00 00 00 07 05 86 03 0A 00 09 ................ + 00 00 00 00 07 05 85 02 00 02 00 00 00 00 00 07 ................ + 05 01 02 00 02 00 00 00 00 00 07 05 87 03 02 00 ................ + 04 00 00 00 00 ..... + + --------------- Connection Information V2 ------------- +Connection Index : 0x02 (2) +Length : 0x10 (16 bytes) +SupportedUsbProtocols : 0x03 + Usb110 : 1 (yes, port supports USB 1.1) + Usb200 : 1 (yes, port supports USB 2.0) + Usb300 : 0 (no, port not supports USB 3.0) + ReservedMBZ : 0x00 +Flags : 0x00 + DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher) + DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher) + DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher) + DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher) + ReservedMBZ : 0x00 +Data (HexDump) : 02 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ + + ---------------------- Device Descriptor ---------------------- +bLength : 0x12 (18 bytes) +bDescriptorType : 0x01 (Device Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 bytes) +idVendor : 0x2207 (Rockchip Electronics Co., Ltd.) +idProduct : 0x0018 +bcdDevice : 0x0310 +iManufacturer : 0x01 (String Descriptor 1) + Language 0x0409 : "rockchip" +iProduct : 0x02 (String Descriptor 2) + Language 0x0409 : "UVC" +iSerialNumber : 0x03 (String Descriptor 3) + Language 0x0409 : "2d312ff4bb1927af" +bNumConfigurations : 0x01 (1 Configuration) +Data (HexDump) : 12 01 00 02 EF 02 01 40 07 22 18 00 10 03 01 02 .......@."...... + 03 01 .. + + ------------------ Configuration Descriptor ------------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x02 (Configuration Descriptor) +wTotalLength : 0x037A (890 bytes) +bNumInterfaces : 0x09 (9 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x04 (String Descriptor 4) + Language 0x0409 : "uvc_uac1" +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 02 7A 03 09 01 04 80 FA 08 0B 00 02 0E 03 00 ..z............. + 05 09 04 00 00 01 0E 01 00 05 0D 24 01 00 01 4E ...........$...N + 00 00 6C DC 02 01 01 12 24 02 01 01 02 00 00 00 ..l.....$....... + 00 00 00 00 00 03 02 00 00 0C 24 05 02 01 00 40 ..........$....@ + 02 01 00 00 00 09 24 03 03 01 01 00 02 00 1A 24 ......$........$ + 06 06 A2 9E 76 41 DE 04 47 E3 8B 2B F4 34 1A FF ....vA..G..+.4.. + 00 3B 03 01 02 01 07 00 07 05 81 03 10 00 08 05 .;.............. + 25 03 10 00 09 04 01 00 00 0E 02 00 06 0E 24 01 %.............$. + 01 49 00 82 00 03 00 00 00 01 00 0B 24 06 01 01 .I..........$... + 00 01 00 00 00 00 2A 24 07 01 00 D0 02 00 05 00 ......*$........ + 40 19 01 00 40 19 01 00 20 1C 00 15 16 05 00 04 @...@... ....... + 15 16 05 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 ....*,..@B...... + 06 24 0D 01 01 04 09 04 01 01 01 0E 02 00 06 07 .$.............. + 05 82 05 00 0C 01 08 0B 02 02 0E 03 00 08 09 04 ................ + 02 00 01 0E 01 00 08 0D 24 01 00 01 4E 00 00 6C ........$...N..l + DC 02 01 03 12 24 02 01 01 02 00 00 00 00 00 00 .....$.......... + 00 00 03 02 00 00 0C 24 05 02 01 00 40 02 01 00 .......$....@... + 00 00 09 24 03 03 01 01 00 02 00 1A 24 06 06 A2 ...$........$... + 9E 76 41 DE 04 47 E3 8B 2B F4 34 1A FF 00 3B 03 .vA..G..+.4...;. + 01 02 01 07 00 07 05 83 03 10 00 08 05 25 03 10 .............%.. + 00 09 04 03 00 00 0E 02 00 09 0E 24 01 01 02 01 ...........$.... + 84 00 03 00 00 00 01 00 1C 24 10 01 05 48 32 36 .........$...H26 + 35 00 00 10 00 80 00 00 AA 00 38 9B 71 10 01 00 5.........8.q... + 00 00 00 01 2A 24 11 01 00 80 02 E0 01 00 E0 2E ....*$.......... + 00 00 E0 2E 00 2A 2C 0A 00 04 00 00 00 00 15 16 .....*,......... + 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 2A 24 ...... ...*,..*$ + 11 02 00 00 05 D0 02 00 A0 8C 00 00 A0 8C 00 2A ...............* + 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A 06 00 ,............... + 20 A1 07 00 2A 2C 0A 00 2A 24 11 03 00 80 07 38 ...*,..*$.....8 + 04 00 68 3C 01 00 68 3C 01 2A 2C 0A 00 04 00 00 ..h<..h<.*,..... + 00 00 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C .......... ...*, + 0A 00 2A 24 11 04 00 00 0A A0 05 00 80 32 02 00 ..*$.........2.. + 80 32 02 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 .2.*,........... + 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 2A 24 11 05 .... ...*,..*$.. + 00 00 09 10 05 00 A0 C7 01 00 A0 C7 01 2A 2C 0A .............*,. + 00 04 00 00 00 00 15 16 05 00 80 1A 06 00 20 A1 .............. . + 07 00 2A 2C 0A 00 06 24 0D 01 01 04 09 04 03 01 ..*,...$........ + 01 0E 02 00 09 07 05 84 05 00 0C 01 08 0B 04 02 ................ + 02 02 01 0D 09 04 04 00 01 02 02 01 0B 05 24 00 ..............$. + 10 01 05 24 01 00 05 04 24 02 02 05 24 06 04 05 ...$....$...$... + 07 05 86 03 0A 00 09 09 04 05 00 02 0A 00 00 0C ................ + 07 05 85 02 00 02 00 07 05 01 02 00 02 00 08 0B ................ + 06 03 01 02 00 0F 09 04 06 00 01 01 01 00 10 0A ................ + 24 01 00 01 4A 00 02 07 08 0C 24 02 01 01 01 00 $...J.....$..... + 01 01 00 12 11 09 24 03 03 01 03 00 05 13 0B 24 ......$........$ + 06 05 01 02 03 00 00 00 18 0C 24 02 02 01 02 00 ..........$..... + 01 01 00 15 14 09 24 03 04 01 01 00 06 16 0B 24 ......$........$ + 06 06 02 02 03 00 00 00 17 07 05 87 03 02 00 04 ................ + 09 04 07 00 00 01 02 00 19 09 04 07 01 01 01 02 ................ + 00 1A 07 24 01 01 01 01 00 14 24 02 01 01 02 10 ...$......$..... + 04 40 1F 00 80 3E 00 44 AC 00 80 BB 00 09 05 02 .@...>.D........ + 09 62 00 04 00 00 07 25 01 01 01 01 00 09 04 08 .b.....%........ + 00 00 01 02 00 1B 09 04 08 01 01 01 02 00 1C 07 ................ + 24 01 04 01 01 00 14 24 02 01 01 02 10 04 40 1F $......$......@. + 00 80 3E 00 44 AC 00 80 BB 00 09 05 88 05 62 00 ..>.D.........b. + 04 00 00 07 25 01 01 00 00 00 ....%..... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x05 (String Descriptor 5) + Language 0x0409 : "KAADAS MJPG Carmera¶" +Data (HexDump) : 08 0B 00 02 0E 03 00 05 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x05 (String Descriptor 5) + Language 0x0409 : "KAADAS MJPG Carmera¶" +Data (HexDump) : 09 04 00 00 01 0E 01 00 05 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x004E (78 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 00 01 4E 00 00 6C DC 02 01 01 .$...N..l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x02, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 02 .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x01, 0x00 + D0 : 1 yes - Brightness + D1 : 0 no - Contrast + D2 : 0 no - Hue + D3 : 0 no - Saturation + D4 : 0 no - Sharpness + D5 : 0 no - Gamma + D6 : 0 no - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 0 no - Backlight Compensation + D9 : 0 no - Gain + D10 : 0 no - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 0 no - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +*!*ERROR: bLength of 0x0C incorrect, should be 0x0B +Data (HexDump) : 0C 24 05 02 01 00 40 02 01 00 00 00 .$....@..... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x02 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 03 01 01 00 02 00 .$....... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x06 +guidExtensionCode : {41769EA2-04DE-E347-8B2B-F4341AFF003B} +bNumControls : 0x03 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x07 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1A 24 06 06 A2 9E 76 41 DE 04 47 E3 8B 2B F4 34 .$....vA..G..+.4 + 1A FF 00 3B 03 01 02 01 07 00 ...;...... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0010 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x10 (16 bytes per packet) +bInterval : 0x08 (8 ms) +Data (HexDump) : 07 05 81 03 10 00 08 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0010 (16 bytes) +Data (HexDump) : 05 25 03 10 00 .%... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x06 (String Descriptor 6) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 01 00 00 0E 02 00 06 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x0049 (73 bytes) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x03 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 49 00 82 00 03 00 00 00 01 00 .$..I......... + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x01 (1) +bmFlags : 0x00 (Sample size is not fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 01 01 00 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x02D0 (720) +wHeight : 0x0500 (1280) +dwMinBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s) +dwMaxBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[3] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[4] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 2A 24 07 01 00 D0 02 00 05 00 40 19 01 00 40 19 *$........@...@. + 01 00 20 1C 00 15 16 05 00 04 15 16 05 00 2A 2C .. ...........*, + 0A 00 40 42 0F 00 80 84 1E 00 ..@B...... + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x06 (String Descriptor 6) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 01 01 01 0E 02 00 06 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0C00 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet) + Bits 10..0 : 0x400 (1024 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 82 05 00 0C 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x08 (String Descriptor 8) + Language 0x0409 : "KAADAS Video Carmera¶" +Data (HexDump) : 08 0B 02 02 0E 03 00 08 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x08 (String Descriptor 8) + Language 0x0409 : "KAADAS Video Carmera¶" +Data (HexDump) : 09 04 02 00 01 0E 01 00 08 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x004E (78 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x03 +Data (HexDump) : 0D 24 01 00 01 4E 00 00 6C DC 02 01 03 .$...N..l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x02, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 02 .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x01, 0x00 + D0 : 1 yes - Brightness + D1 : 0 no - Contrast + D2 : 0 no - Hue + D3 : 0 no - Saturation + D4 : 0 no - Sharpness + D5 : 0 no - Gamma + D6 : 0 no - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 0 no - Backlight Compensation + D9 : 0 no - Gain + D10 : 0 no - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 0 no - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +*!*ERROR: bLength of 0x0C incorrect, should be 0x0B +Data (HexDump) : 0C 24 05 02 01 00 40 02 01 00 00 00 .$....@..... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x02 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 03 01 01 00 02 00 .$....... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x06 +guidExtensionCode : {41769EA2-04DE-E347-8B2B-F4341AFF003B} +bNumControls : 0x03 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x07 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1A 24 06 06 A2 9E 76 41 DE 04 47 E3 8B 2B F4 34 .$....vA..G..+.4 + 1A FF 00 3B 03 01 02 01 07 00 ...;...... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x83 (Direction=IN EndpointID=3) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0010 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x10 (16 bytes per packet) +bInterval : 0x08 (8 ms) +Data (HexDump) : 07 05 83 03 10 00 08 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0010 (16 bytes) +Data (HexDump) : 05 25 03 10 00 .%... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x09 (String Descriptor 9) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 03 00 00 0E 02 00 09 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x0102 (258 bytes) +bEndpointAddress : 0x84 (Direction=IN EndpointID=4) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x03 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 02 01 84 00 03 00 00 00 01 00 .$............ + + ---- VS Frame Based Payload Format Type Descriptor ---- +*!*ERROR: This format is NOT ALLOWED for UVC 1.0 devices +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x10 (Frame Based Format Type) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x05 (5) +guidFormat : {35363248-0000-0010-8000-00AA00389B71} (H265) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +bVariableSize : 0x01 (Variable Size) +Data (HexDump) : 1C 24 10 01 05 48 32 36 35 00 00 10 00 80 00 00 .$...H265....... + AA 00 38 9B 71 10 01 00 00 00 00 01 ..8.q....... + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x002EE000 (3072000 bps -> 384 KB/s) +dwMaxBitRate : 0x002EE000 (3072000 bps -> 384 KB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 01 00 80 02 E0 01 00 E0 2E 00 00 E0 2E *$.............. + 00 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwMaxBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 02 00 00 05 D0 02 00 A0 8C 00 00 A0 8C *$.............. + 00 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x013C6800 (20736000 bps -> 2.592 MB/s) +dwMaxBitRate : 0x013C6800 (20736000 bps -> 2.592 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 03 00 80 07 38 04 00 68 3C 01 00 68 3C *$.....8..h<..h< + 01 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwMaxBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 04 00 00 0A A0 05 00 80 32 02 00 80 32 *$.........2...2 + 02 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0900 (2304) +wHeight : 0x0510 (1296) +dwMinBitRate : 0x01C7A000 (29859840 bps -> 3.732 MB/s) +dwMaxBitRate : 0x01C7A000 (29859840 bps -> 3.732 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 05 00 00 09 10 05 00 A0 C7 01 00 A0 C7 *$.............. + 01 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x09 (String Descriptor 9) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 03 01 01 0E 02 00 09 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x84 (Direction=IN EndpointID=4) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0C00 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet) + Bits 10..0 : 0x400 (1024 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 84 05 00 0C 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x04 +bInterfaceCount : 0x02 +bFunctionClass : 0x02 (Communications and CDC Control) +bFunctionSubClass : 0x02 +bFunctionProtocol : 0x01 +iFunction : 0x0D (String Descriptor 13) + Language 0x0409 : "CDC Serial" +Data (HexDump) : 08 0B 04 02 02 02 01 0D ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x04 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x02 (Communications and CDC Control) +bInterfaceSubClass : 0x02 (Abstract Control Model) +bInterfaceProtocol : 0x01 (AT Commands defined by ITU-T V.250 etc) +iInterface : 0x0B (String Descriptor 11) + Language 0x0409 : "CDC Abstract Control Model (ACM)" +Data (HexDump) : 09 04 04 00 01 02 02 01 0B ......... + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x05 (5 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x00 (Header Functional Descriptor) +bcdCDC : 0x110 (CDC Version 1.10) +Data (HexDump) : 05 24 00 10 01 .$... + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x05 (5 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x01 (Call Management Functional Descriptor) +bmCapabilities : 0x00 + D7..2 : 0x00 (Reserved) + D1 : 0x00 (sends/receives call management information only over the Communication Class interface) + D0 : 0x00 (does not handle call management itself) +bDataInterface : 0x05 +Data (HexDump) : 05 24 01 00 05 .$... + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x04 (4 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x02 (Abstract Control Management Functional Descriptor) +bmCapabilities : 0x02 + D7..4 : 0x00 (Reserved) + D3 : 0x00 (not supports the notification Network_Connection) + D2 : 0x00 (not supports the request Send_Break) + D1 : 0x01 (supports the request combination of Set_Line_Coding, Set_Control_Line_State, Get_Line_Coding, and the notification Serial_State) + D0 : 0x00 (not supports the request combination of Set_Comm_Feature, Clear_Comm_Feature, and Get_Comm_Feature) +Data (HexDump) : 04 24 02 02 .$.. + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x05 (5 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x06 (Union Functional Descriptor) +bControlInterface : 0x04 +bSubordinateInterface[0] : 0x05 +Data (HexDump) : 05 24 06 04 05 .$... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x000A + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x0A (10 bytes per packet) +bInterval : 0x09 (9 ms) +Data (HexDump) : 07 05 86 03 0A 00 09 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x05 +bAlternateSetting : 0x00 +bNumEndpoints : 0x02 (2 Endpoints) +bInterfaceClass : 0x0A (CDC-Data) +bInterfaceSubClass : 0x00 +bInterfaceProtocol : 0x00 +iInterface : 0x0C (String Descriptor 12) + Language 0x0409 : "CDC ACM Data" +Data (HexDump) : 09 04 05 00 02 0A 00 00 0C ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0200 (max 512 bytes) +bInterval : 0x00 (never NAKs) +Data (HexDump) : 07 05 85 02 00 02 00 ....... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x01 (Direction=OUT EndpointID=1) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0200 (max 512 bytes) +bInterval : 0x00 (never NAKs) +Data (HexDump) : 07 05 01 02 00 02 00 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x06 +bInterfaceCount : 0x03 +bFunctionClass : 0x01 (Audio) +bFunctionSubClass : 0x02 (Audio Streaming) +bFunctionProtocol : 0x00 +iFunction : 0x0F (String Descriptor 15) + Language 0x0409 : "Source/Sink" +Data (HexDump) : 08 0B 06 03 01 02 00 0F ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x06 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x01 (Audio Control) +bInterfaceProtocol : 0x00 +iInterface : 0x10 (String Descriptor 16) + Language 0x0409 : "AC Interface" +Data (HexDump) : 09 04 06 00 01 01 01 00 10 ......... + + ------ Audio Control Interface Header Descriptor ------ +bLength : 0x0A (10 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 (Header) +bcdADC : 0x0100 +wTotalLength : 0x004A (74 bytes) +bInCollection : 0x02 +baInterfaceNr[1] : 0x07 +baInterfaceNr[2] : 0x08 +Data (HexDump) : 0A 24 01 00 01 4A 00 02 07 08 .$...J.... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x12 (String Descriptor 18) + Language 0x0409 : "Playback Channels" +iTerminal : 0x11 (String Descriptor 17) + Language 0x0409 : "Playback Input terminal" +Data (HexDump) : 0C 24 02 01 01 01 00 01 01 00 12 11 .$.......... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0301 (Speaker) +bAssocTerminal : 0x00 (0) +bSourceID : 0x05 (5) +iTerminal : 0x13 (String Descriptor 19) + Language 0x0409 : "Playback Output terminal" +Data (HexDump) : 09 24 03 03 01 03 00 05 13 .$....... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x05 (5) +bSourceID : 0x01 (1) +bControlSize : 0x02 (2 bytes per control) +bmaControls[0] : 0x03, 0x00 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +bmaControls[1] : 0x00, 0x00 + D0: Mute : 0 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +iFeature : 0x18 (String Descriptor 24) + Language 0x0409 : "Playback Volume" +Data (HexDump) : 0B 24 06 05 01 02 03 00 00 00 18 .$......... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x02 +wTerminalType : 0x0201 (Microphone) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x15 (String Descriptor 21) + Language 0x0409 : "Capture Channels" +iTerminal : 0x14 (String Descriptor 20) + Language 0x0409 : "Capture Input terminal" +Data (HexDump) : 0C 24 02 02 01 02 00 01 01 00 15 14 .$.......... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x04 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 (0) +bSourceID : 0x06 (6) +iTerminal : 0x16 (String Descriptor 22) + Language 0x0409 : "Capture Output terminal" +Data (HexDump) : 09 24 03 04 01 01 00 06 16 .$....... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x06 (6) +bSourceID : 0x02 (2) +bControlSize : 0x02 (2 bytes per control) +bmaControls[0] : 0x03, 0x00 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +bmaControls[1] : 0x00, 0x00 + D0: Mute : 0 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +iFeature : 0x17 (String Descriptor 23) + Language 0x0409 : "Capture Volume" +Data (HexDump) : 0B 24 06 06 02 02 03 00 00 00 17 .$......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x87 (Direction=IN EndpointID=7) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0002 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x02 (2 bytes per packet) +bInterval : 0x04 (4 ms) +Data (HexDump) : 07 05 87 03 02 00 04 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x07 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x19 (String Descriptor 25) + Language 0x0409 : "Playback Inactive" +Data (HexDump) : 09 04 07 00 00 01 02 00 19 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x07 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x1A (String Descriptor 26) + Language 0x0409 : "Playback Active" +Data (HexDump) : 09 04 07 01 01 01 02 00 1A ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x01 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 01 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x14 (20 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x04 (supports 4 sample frequencies) +tSamFreq[1] : 0x01F40 (8000 Hz) +tSamFreq[2] : 0x03E80 (16000 Hz) +tSamFreq[3] : 0x0AC44 (44100 Hz) +tSamFreq[4] : 0x0BB80 (48000 Hz) +Data (HexDump) : 14 24 02 01 01 02 10 04 40 1F 00 80 3E 00 44 AC .$......@...>.D. + 00 80 BB 00 .... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x02 (Direction=OUT EndpointID=2) +bmAttributes : 0x09 (TransferType=Isochronous SyncType=Adaptive EndpointType=Data) +wMaxPacketSize : 0x0062 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x62 (98 bytes per packet) +bInterval : 0x04 (4 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 02 09 62 00 04 00 00 ....b.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x01 (Milliseconds) +wLockDelay : 0x0001 (1 ms) +Data (HexDump) : 07 25 01 01 01 01 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x08 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x1B (String Descriptor 27) + Language 0x0409 : "Capture Inactive" +Data (HexDump) : 09 04 08 00 00 01 02 00 1B ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x08 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x1C (String Descriptor 28) + Language 0x0409 : "Capture Active" +Data (HexDump) : 09 04 08 01 01 01 02 00 1C ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x04 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 04 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x14 (20 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x04 (supports 4 sample frequencies) +tSamFreq[1] : 0x01F40 (8000 Hz) +tSamFreq[2] : 0x03E80 (16000 Hz) +tSamFreq[3] : 0x0AC44 (44100 Hz) +tSamFreq[4] : 0x0BB80 (48000 Hz) +Data (HexDump) : 14 24 02 01 01 02 10 04 40 1F 00 80 3E 00 44 AC .$......@...>.D. + 00 80 BB 00 .... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x88 (Direction=IN EndpointID=8) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0062 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x62 (98 bytes per packet) +bInterval : 0x04 (4 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 88 05 62 00 04 00 00 ....b.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ----------------- Device Qualifier Descriptor ----------------- +bLength : 0x0A (10 bytes) +bDescriptorType : 0x06 (Device_qualifier Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 Bytes) +bNumConfigurations : 0x01 (1 other-speed configuration) +bReserved : 0x00 +Data (HexDump) : 0A 06 00 02 EF 02 01 40 01 00 .......@.. + + ------------ Other Speed Configuration Descriptor ------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x07 (Other_speed_configuration Descriptor) +wTotalLength : 0x037A (890 bytes) +bNumInterfaces : 0x09 (9 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x04 (String Descriptor 4) + Language 0x0409 : "uvc_uac1" +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 07 7A 03 09 01 04 80 FA 08 0B 00 02 0E 03 00 ..z............. + 05 09 04 00 00 01 0E 01 00 05 0D 24 01 00 01 4E ...........$...N + 00 00 6C DC 02 01 01 12 24 02 01 01 02 00 00 00 ..l.....$....... + 00 00 00 00 00 03 02 00 00 0C 24 05 02 01 00 40 ..........$....@ + 02 01 00 00 00 09 24 03 03 01 01 00 02 00 1A 24 ......$........$ + 06 06 A2 9E 76 41 DE 04 47 E3 8B 2B F4 34 1A FF ....vA..G..+.4.. + 00 3B 03 01 02 01 07 00 07 05 81 03 10 00 08 05 .;.............. + 25 03 10 00 09 04 01 00 00 0E 02 00 06 0E 24 01 %.............$. + 01 49 00 82 00 03 00 00 00 01 00 0B 24 06 01 01 .I..........$... + 00 01 00 00 00 00 2A 24 07 01 00 D0 02 00 05 00 ......*$........ + 40 19 01 00 40 19 01 00 20 1C 00 15 16 05 00 04 @...@... ....... + 15 16 05 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 ....*,..@B...... + 06 24 0D 01 01 04 09 04 01 01 01 0E 02 00 06 07 .$.............. + 05 82 05 FF 03 01 08 0B 02 02 0E 03 00 08 09 04 ................ + 02 00 01 0E 01 00 08 0D 24 01 00 01 4E 00 00 6C ........$...N..l + DC 02 01 03 12 24 02 01 01 02 00 00 00 00 00 00 .....$.......... + 00 00 03 02 00 00 0C 24 05 02 01 00 40 02 01 00 .......$....@... + 00 00 09 24 03 03 01 01 00 02 00 1A 24 06 06 A2 ...$........$... + 9E 76 41 DE 04 47 E3 8B 2B F4 34 1A FF 00 3B 03 .vA..G..+.4...;. + 01 02 01 07 00 07 05 83 03 10 00 08 05 25 03 10 .............%.. + 00 09 04 03 00 00 0E 02 00 09 0E 24 01 01 02 01 ...........$.... + 84 00 03 00 00 00 01 00 1C 24 10 01 05 48 32 36 .........$...H26 + 35 00 00 10 00 80 00 00 AA 00 38 9B 71 10 01 00 5.........8.q... + 00 00 00 01 2A 24 11 01 00 80 02 E0 01 00 E0 2E ....*$.......... + 00 00 E0 2E 00 2A 2C 0A 00 04 00 00 00 00 15 16 .....*,......... + 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 2A 24 ...... ...*,..*$ + 11 02 00 00 05 D0 02 00 A0 8C 00 00 A0 8C 00 2A ...............* + 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A 06 00 ,............... + 20 A1 07 00 2A 2C 0A 00 2A 24 11 03 00 80 07 38 ...*,..*$.....8 + 04 00 68 3C 01 00 68 3C 01 2A 2C 0A 00 04 00 00 ..h<..h<.*,..... + 00 00 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C .......... ...*, + 0A 00 2A 24 11 04 00 00 0A A0 05 00 80 32 02 00 ..*$.........2.. + 80 32 02 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 .2.*,........... + 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 2A 24 11 05 .... ...*,..*$.. + 00 00 09 10 05 00 A0 C7 01 00 A0 C7 01 2A 2C 0A .............*,. + 00 04 00 00 00 00 15 16 05 00 80 1A 06 00 20 A1 .............. . + 07 00 2A 2C 0A 00 06 24 0D 01 01 04 09 04 03 01 ..*,...$........ + 01 0E 02 00 09 07 05 84 05 FF 03 01 08 0B 04 02 ................ + 02 02 01 0D 09 04 04 00 01 02 02 01 0B 05 24 00 ..............$. + 10 01 05 24 01 00 05 04 24 02 02 05 24 06 04 05 ...$....$...$... + 07 05 86 03 0A 00 20 09 04 05 00 02 0A 00 00 0C ...... ......... + 07 05 85 02 40 00 00 07 05 01 02 40 00 00 08 0B ....@......@.... + 06 03 01 02 00 0F 09 04 06 00 01 01 01 00 10 0A ................ + 24 01 00 01 4A 00 02 07 08 0C 24 02 01 01 01 00 $...J.....$..... + 01 01 00 12 11 09 24 03 03 01 03 00 05 13 0B 24 ......$........$ + 06 05 01 02 03 00 00 00 18 0C 24 02 02 01 02 00 ..........$..... + 01 01 00 15 14 09 24 03 04 01 01 00 06 16 0B 24 ......$........$ + 06 06 02 02 03 00 00 00 17 07 05 87 03 02 00 01 ................ + 09 04 07 00 00 01 02 00 19 09 04 07 01 01 01 02 ................ + 00 1A 07 24 01 01 01 01 00 14 24 02 01 01 02 10 ...$......$..... + 04 40 1F 00 80 3E 00 44 AC 00 80 BB 00 09 05 02 .@...>.D........ + 09 62 00 01 00 00 07 25 01 01 01 01 00 09 04 08 .b.....%........ + 00 00 01 02 00 1B 09 04 08 01 01 01 02 00 1C 07 ................ + 24 01 04 01 01 00 14 24 02 01 01 02 10 04 40 1F $......$......@. + 00 80 3E 00 44 AC 00 80 BB 00 09 05 88 05 62 00 ..>.D.........b. + 01 00 00 07 25 01 01 00 00 00 ....%..... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x05 (String Descriptor 5) + Language 0x0409 : "KAADAS MJPG Carmera¶" +Data (HexDump) : 08 0B 00 02 0E 03 00 05 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x05 (String Descriptor 5) + Language 0x0409 : "KAADAS MJPG Carmera¶" +Data (HexDump) : 09 04 00 00 01 0E 01 00 05 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x004E (78 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 00 01 4E 00 00 6C DC 02 01 01 .$...N..l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x02, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 02 .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x01, 0x00 + D0 : 1 yes - Brightness + D1 : 0 no - Contrast + D2 : 0 no - Hue + D3 : 0 no - Saturation + D4 : 0 no - Sharpness + D5 : 0 no - Gamma + D6 : 0 no - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 0 no - Backlight Compensation + D9 : 0 no - Gain + D10 : 0 no - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 0 no - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +*!*ERROR: bLength of 0x0C incorrect, should be 0x0B +Data (HexDump) : 0C 24 05 02 01 00 40 02 01 00 00 00 .$....@..... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x02 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 03 01 01 00 02 00 .$....... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x06 +guidExtensionCode : {41769EA2-04DE-E347-8B2B-F4341AFF003B} +bNumControls : 0x03 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x07 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1A 24 06 06 A2 9E 76 41 DE 04 47 E3 8B 2B F4 34 .$....vA..G..+.4 + 1A FF 00 3B 03 01 02 01 07 00 ...;...... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0010 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x10 (16 bytes per packet) +bInterval : 0x08 (8 ms) +Data (HexDump) : 07 05 81 03 10 00 08 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0010 (16 bytes) +Data (HexDump) : 05 25 03 10 00 .%... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x06 (String Descriptor 6) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 01 00 00 0E 02 00 06 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x0049 (73 bytes) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x03 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 49 00 82 00 03 00 00 00 01 00 .$..I......... + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x01 (1) +bmFlags : 0x00 (Sample size is not fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 01 01 00 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x02D0 (720) +wHeight : 0x0500 (1280) +dwMinBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s) +dwMaxBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[3] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[4] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 2A 24 07 01 00 D0 02 00 05 00 40 19 01 00 40 19 *$........@...@. + 01 00 20 1C 00 15 16 05 00 04 15 16 05 00 2A 2C .. ...........*, + 0A 00 40 42 0F 00 80 84 1E 00 ..@B...... + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x06 (String Descriptor 6) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 01 01 01 0E 02 00 06 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x03FF + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x3FF (1023 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 82 05 FF 03 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x08 (String Descriptor 8) + Language 0x0409 : "KAADAS Video Carmera¶" +Data (HexDump) : 08 0B 02 02 0E 03 00 08 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x08 (String Descriptor 8) + Language 0x0409 : "KAADAS Video Carmera¶" +Data (HexDump) : 09 04 02 00 01 0E 01 00 08 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x004E (78 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x03 +Data (HexDump) : 0D 24 01 00 01 4E 00 00 6C DC 02 01 03 .$...N..l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x02, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 02 .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x01, 0x00 + D0 : 1 yes - Brightness + D1 : 0 no - Contrast + D2 : 0 no - Hue + D3 : 0 no - Saturation + D4 : 0 no - Sharpness + D5 : 0 no - Gamma + D6 : 0 no - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 0 no - Backlight Compensation + D9 : 0 no - Gain + D10 : 0 no - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 0 no - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +*!*ERROR: bLength of 0x0C incorrect, should be 0x0B +Data (HexDump) : 0C 24 05 02 01 00 40 02 01 00 00 00 .$....@..... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x02 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 03 01 01 00 02 00 .$....... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x06 +guidExtensionCode : {41769EA2-04DE-E347-8B2B-F4341AFF003B} +bNumControls : 0x03 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x07 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1A 24 06 06 A2 9E 76 41 DE 04 47 E3 8B 2B F4 34 .$....vA..G..+.4 + 1A FF 00 3B 03 01 02 01 07 00 ...;...... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x83 (Direction=IN EndpointID=3) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0010 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x10 (16 bytes per packet) +bInterval : 0x08 (8 ms) +Data (HexDump) : 07 05 83 03 10 00 08 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0010 (16 bytes) +Data (HexDump) : 05 25 03 10 00 .%... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x09 (String Descriptor 9) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 03 00 00 0E 02 00 09 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x0102 (258 bytes) +bEndpointAddress : 0x84 (Direction=IN EndpointID=4) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x03 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 02 01 84 00 03 00 00 00 01 00 .$............ + + ---- VS Frame Based Payload Format Type Descriptor ---- +*!*ERROR: This format is NOT ALLOWED for UVC 1.0 devices +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x10 (Frame Based Format Type) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x05 (5) +guidFormat : {35363248-0000-0010-8000-00AA00389B71} (H265) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +bVariableSize : 0x01 (Variable Size) +Data (HexDump) : 1C 24 10 01 05 48 32 36 35 00 00 10 00 80 00 00 .$...H265....... + AA 00 38 9B 71 10 01 00 00 00 00 01 ..8.q....... + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x002EE000 (3072000 bps -> 384 KB/s) +dwMaxBitRate : 0x002EE000 (3072000 bps -> 384 KB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 01 00 80 02 E0 01 00 E0 2E 00 00 E0 2E *$.............. + 00 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwMaxBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 02 00 00 05 D0 02 00 A0 8C 00 00 A0 8C *$.............. + 00 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x013C6800 (20736000 bps -> 2.592 MB/s) +dwMaxBitRate : 0x013C6800 (20736000 bps -> 2.592 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 03 00 80 07 38 04 00 68 3C 01 00 68 3C *$.....8..h<..h< + 01 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwMaxBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 04 00 00 0A A0 05 00 80 32 02 00 80 32 *$.........2...2 + 02 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +*!*ERROR bDescriptorSubtype did not exist in UVC 1.0 +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0900 (2304) +wHeight : 0x0510 (1296) +dwMinBitRate : 0x01C7A000 (29859840 bps -> 3.732 MB/s) +dwMaxBitRate : 0x01C7A000 (29859840 bps -> 3.732 MB/s) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +dwBytesPerLine : 0x00 (0 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 2A 24 11 05 00 00 09 10 05 00 A0 C7 01 00 A0 C7 *$.............. + 01 2A 2C 0A 00 04 00 00 00 00 15 16 05 00 80 1A .*,............. + 06 00 20 A1 07 00 2A 2C 0A 00 .. ...*,.. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x09 (String Descriptor 9) + Language 0x0409 : "Video Streaming" +Data (HexDump) : 09 04 03 01 01 0E 02 00 09 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x84 (Direction=IN EndpointID=4) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x03FF + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x3FF (1023 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 84 05 FF 03 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x04 +bInterfaceCount : 0x02 +bFunctionClass : 0x02 (Communications and CDC Control) +bFunctionSubClass : 0x02 +bFunctionProtocol : 0x01 +iFunction : 0x0D (String Descriptor 13) + Language 0x0409 : "CDC Serial" +Data (HexDump) : 08 0B 04 02 02 02 01 0D ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x04 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x02 (Communications and CDC Control) +bInterfaceSubClass : 0x02 (Abstract Control Model) +bInterfaceProtocol : 0x01 (AT Commands defined by ITU-T V.250 etc) +iInterface : 0x0B (String Descriptor 11) + Language 0x0409 : "CDC Abstract Control Model (ACM)" +Data (HexDump) : 09 04 04 00 01 02 02 01 0B ......... + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x05 (5 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x00 (Header Functional Descriptor) +bcdCDC : 0x110 (CDC Version 1.10) +Data (HexDump) : 05 24 00 10 01 .$... + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x05 (5 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x01 (Call Management Functional Descriptor) +bmCapabilities : 0x00 + D7..2 : 0x00 (Reserved) + D1 : 0x00 (sends/receives call management information only over the Communication Class interface) + D0 : 0x00 (does not handle call management itself) +bDataInterface : 0x05 +Data (HexDump) : 05 24 01 00 05 .$... + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x04 (4 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x02 (Abstract Control Management Functional Descriptor) +bmCapabilities : 0x02 + D7..4 : 0x00 (Reserved) + D3 : 0x00 (not supports the notification Network_Connection) + D2 : 0x00 (not supports the request Send_Break) + D1 : 0x01 (supports the request combination of Set_Line_Coding, Set_Control_Line_State, Get_Line_Coding, and the notification Serial_State) + D0 : 0x00 (not supports the request combination of Set_Comm_Feature, Clear_Comm_Feature, and Get_Comm_Feature) +Data (HexDump) : 04 24 02 02 .$.. + + -------------- CDC Interface Descriptor --------------- +bFunctionLength : 0x05 (5 bytes) +bDescriptorType : 0x24 (Interface) +bDescriptorSubType : 0x06 (Union Functional Descriptor) +bControlInterface : 0x04 +bSubordinateInterface[0] : 0x05 +Data (HexDump) : 05 24 06 04 05 .$... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x000A + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x0A (10 bytes per packet) +bInterval : 0x20 (32 ms) +Data (HexDump) : 07 05 86 03 0A 00 20 ...... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x05 +bAlternateSetting : 0x00 +bNumEndpoints : 0x02 (2 Endpoints) +bInterfaceClass : 0x0A (CDC-Data) +bInterfaceSubClass : 0x00 +bInterfaceProtocol : 0x00 +iInterface : 0x0C (String Descriptor 12) + Language 0x0409 : "CDC ACM Data" +Data (HexDump) : 09 04 05 00 02 0A 00 00 0C ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0040 (max 64 bytes) +bInterval : 0x00 (never NAKs) +Data (HexDump) : 07 05 85 02 40 00 00 ....@.. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x01 (Direction=OUT EndpointID=1) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0040 (max 64 bytes) +bInterval : 0x00 (never NAKs) +Data (HexDump) : 07 05 01 02 40 00 00 ....@.. + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x06 +bInterfaceCount : 0x03 +bFunctionClass : 0x01 (Audio) +bFunctionSubClass : 0x02 (Audio Streaming) +bFunctionProtocol : 0x00 +iFunction : 0x0F (String Descriptor 15) + Language 0x0409 : "Source/Sink" +Data (HexDump) : 08 0B 06 03 01 02 00 0F ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x06 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x01 (Audio Control) +bInterfaceProtocol : 0x00 +iInterface : 0x10 (String Descriptor 16) + Language 0x0409 : "AC Interface" +Data (HexDump) : 09 04 06 00 01 01 01 00 10 ......... + + ------ Audio Control Interface Header Descriptor ------ +bLength : 0x0A (10 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 (Header) +bcdADC : 0x0100 +wTotalLength : 0x004A (74 bytes) +bInCollection : 0x02 +baInterfaceNr[1] : 0x07 +baInterfaceNr[2] : 0x08 +Data (HexDump) : 0A 24 01 00 01 4A 00 02 07 08 .$...J.... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x12 (String Descriptor 18) + Language 0x0409 : "Playback Channels" +iTerminal : 0x11 (String Descriptor 17) + Language 0x0409 : "Playback Input terminal" +Data (HexDump) : 0C 24 02 01 01 01 00 01 01 00 12 11 .$.......... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0301 (Speaker) +bAssocTerminal : 0x00 (0) +bSourceID : 0x05 (5) +iTerminal : 0x13 (String Descriptor 19) + Language 0x0409 : "Playback Output terminal" +Data (HexDump) : 09 24 03 03 01 03 00 05 13 .$....... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x05 (5) +bSourceID : 0x01 (1) +bControlSize : 0x02 (2 bytes per control) +bmaControls[0] : 0x03, 0x00 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +bmaControls[1] : 0x00, 0x00 + D0: Mute : 0 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +iFeature : 0x18 (String Descriptor 24) + Language 0x0409 : "Playback Volume" +Data (HexDump) : 0B 24 06 05 01 02 03 00 00 00 18 .$......... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x02 +wTerminalType : 0x0201 (Microphone) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0001 (L) +iChannelNames : 0x15 (String Descriptor 21) + Language 0x0409 : "Capture Channels" +iTerminal : 0x14 (String Descriptor 20) + Language 0x0409 : "Capture Input terminal" +Data (HexDump) : 0C 24 02 02 01 02 00 01 01 00 15 14 .$.......... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x04 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 (0) +bSourceID : 0x06 (6) +iTerminal : 0x16 (String Descriptor 22) + Language 0x0409 : "Capture Output terminal" +Data (HexDump) : 09 24 03 04 01 01 00 06 16 .$....... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x06 (6) +bSourceID : 0x02 (2) +bControlSize : 0x02 (2 bytes per control) +bmaControls[0] : 0x03, 0x00 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +bmaControls[1] : 0x00, 0x00 + D0: Mute : 0 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +iFeature : 0x17 (String Descriptor 23) + Language 0x0409 : "Capture Volume" +Data (HexDump) : 0B 24 06 06 02 02 03 00 00 00 17 .$......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x87 (Direction=IN EndpointID=7) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0002 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x02 (2 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 87 03 02 00 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x07 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x19 (String Descriptor 25) + Language 0x0409 : "Playback Inactive" +Data (HexDump) : 09 04 07 00 00 01 02 00 19 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x07 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x1A (String Descriptor 26) + Language 0x0409 : "Playback Active" +Data (HexDump) : 09 04 07 01 01 01 02 00 1A ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x01 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 01 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x14 (20 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x04 (supports 4 sample frequencies) +tSamFreq[1] : 0x01F40 (8000 Hz) +tSamFreq[2] : 0x03E80 (16000 Hz) +tSamFreq[3] : 0x0AC44 (44100 Hz) +tSamFreq[4] : 0x0BB80 (48000 Hz) +Data (HexDump) : 14 24 02 01 01 02 10 04 40 1F 00 80 3E 00 44 AC .$......@...>.D. + 00 80 BB 00 .... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x02 (Direction=OUT EndpointID=2) +bmAttributes : 0x09 (TransferType=Isochronous SyncType=Adaptive EndpointType=Data) +wMaxPacketSize : 0x0062 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x62 (98 bytes per packet) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 02 09 62 00 01 00 00 ....b.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x01 (Milliseconds) +wLockDelay : 0x0001 (1 ms) +Data (HexDump) : 07 25 01 01 01 01 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x08 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x1B (String Descriptor 27) + Language 0x0409 : "Capture Inactive" +Data (HexDump) : 09 04 08 00 00 01 02 00 1B ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x08 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x1C (String Descriptor 28) + Language 0x0409 : "Capture Active" +Data (HexDump) : 09 04 08 01 01 01 02 00 1C ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x04 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 04 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x14 (20 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x04 (supports 4 sample frequencies) +tSamFreq[1] : 0x01F40 (8000 Hz) +tSamFreq[2] : 0x03E80 (16000 Hz) +tSamFreq[3] : 0x0AC44 (44100 Hz) +tSamFreq[4] : 0x0BB80 (48000 Hz) +Data (HexDump) : 14 24 02 01 01 02 10 04 40 1F 00 80 3E 00 44 AC .$......@...>.D. + 00 80 BB 00 .... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x88 (Direction=IN EndpointID=8) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0062 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x62 (98 bytes per packet) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 88 05 62 00 01 00 00 ....b.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + -------------------- String Descriptors ------------------- + ------ String Descriptor 0 ------ +bLength : 0x04 (4 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language ID[0] : 0x0409 (English - United States) +Data (HexDump) : 04 03 09 04 .... + ------ String Descriptor 1 ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "rockchip" +Data (HexDump) : 12 03 72 00 6F 00 63 00 6B 00 63 00 68 00 69 00 ..r.o.c.k.c.h.i. + 70 00 p. + ------ String Descriptor 2 ------ +bLength : 0x08 (8 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "UVC" +Data (HexDump) : 08 03 55 00 56 00 43 00 ..U.V.C. + ------ String Descriptor 3 ------ +bLength : 0x22 (34 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "2d312ff4bb1927af" +Data (HexDump) : 22 03 32 00 64 00 33 00 31 00 32 00 66 00 66 00 ".2.d.3.1.2.f.f. + 34 00 62 00 62 00 31 00 39 00 32 00 37 00 61 00 4.b.b.1.9.2.7.a. + 66 00 f. + ------ String Descriptor 4 ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "uvc_uac1" +Data (HexDump) : 12 03 75 00 76 00 63 00 5F 00 75 00 61 00 63 00 ..u.v.c._.u.a.c. + 31 00 1. + ------ String Descriptor 5 ------ +bLength : 0x2A (42 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "KAADAS MJPG Carmera¶" *!*CAUTION contains character below 0x20 +Data (HexDump) : 2A 03 4B 00 41 00 41 00 44 00 41 00 53 00 20 00 *.K.A.A.D.A.S. . + 4D 00 4A 00 50 00 47 00 20 00 43 00 61 00 72 00 M.J.P.G. .C.a.r. + 6D 00 65 00 72 00 61 00 0A 00 m.e.r.a... + ------ String Descriptor 6 ------ +bLength : 0x20 (32 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Video Streaming" +Data (HexDump) : 20 03 56 00 69 00 64 00 65 00 6F 00 20 00 53 00 .V.i.d.e.o. .S. + 74 00 72 00 65 00 61 00 6D 00 69 00 6E 00 67 00 t.r.e.a.m.i.n.g. + ------ String Descriptor 8 ------ +bLength : 0x2C (44 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "KAADAS Video Carmera¶" *!*CAUTION contains character below 0x20 +Data (HexDump) : 2C 03 4B 00 41 00 41 00 44 00 41 00 53 00 20 00 ,.K.A.A.D.A.S. . + 56 00 69 00 64 00 65 00 6F 00 20 00 43 00 61 00 V.i.d.e.o. .C.a. + 72 00 6D 00 65 00 72 00 61 00 0A 00 r.m.e.r.a... + ------ String Descriptor 9 ------ +bLength : 0x20 (32 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Video Streaming" +Data (HexDump) : 20 03 56 00 69 00 64 00 65 00 6F 00 20 00 53 00 .V.i.d.e.o. .S. + 74 00 72 00 65 00 61 00 6D 00 69 00 6E 00 67 00 t.r.e.a.m.i.n.g. + ------ String Descriptor 11 ------ +bLength : 0x42 (66 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "CDC Abstract Control Model (ACM)" +Data (HexDump) : 42 03 43 00 44 00 43 00 20 00 41 00 62 00 73 00 B.C.D.C. .A.b.s. + 74 00 72 00 61 00 63 00 74 00 20 00 43 00 6F 00 t.r.a.c.t. .C.o. + 6E 00 74 00 72 00 6F 00 6C 00 20 00 4D 00 6F 00 n.t.r.o.l. .M.o. + 64 00 65 00 6C 00 20 00 28 00 41 00 43 00 4D 00 d.e.l. .(.A.C.M. + 29 00 ). + ------ String Descriptor 12 ------ +bLength : 0x1A (26 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "CDC ACM Data" +Data (HexDump) : 1A 03 43 00 44 00 43 00 20 00 41 00 43 00 4D 00 ..C.D.C. .A.C.M. + 20 00 44 00 61 00 74 00 61 00 .D.a.t.a. + ------ String Descriptor 13 ------ +bLength : 0x16 (22 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "CDC Serial" +Data (HexDump) : 16 03 43 00 44 00 43 00 20 00 53 00 65 00 72 00 ..C.D.C. .S.e.r. + 69 00 61 00 6C 00 i.a.l. + ------ String Descriptor 15 ------ +bLength : 0x18 (24 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Source/Sink" +Data (HexDump) : 18 03 53 00 6F 00 75 00 72 00 63 00 65 00 2F 00 ..S.o.u.r.c.e./. + 53 00 69 00 6E 00 6B 00 S.i.n.k. + ------ String Descriptor 16 ------ +bLength : 0x1A (26 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "AC Interface" +Data (HexDump) : 1A 03 41 00 43 00 20 00 49 00 6E 00 74 00 65 00 ..A.C. .I.n.t.e. + 72 00 66 00 61 00 63 00 65 00 r.f.a.c.e. + ------ String Descriptor 17 ------ +bLength : 0x30 (48 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Playback Input terminal" +Data (HexDump) : 30 03 50 00 6C 00 61 00 79 00 62 00 61 00 63 00 0.P.l.a.y.b.a.c. + 6B 00 20 00 49 00 6E 00 70 00 75 00 74 00 20 00 k. .I.n.p.u.t. . + 74 00 65 00 72 00 6D 00 69 00 6E 00 61 00 6C 00 t.e.r.m.i.n.a.l. + ------ String Descriptor 18 ------ +bLength : 0x24 (36 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Playback Channels" +Data (HexDump) : 24 03 50 00 6C 00 61 00 79 00 62 00 61 00 63 00 $.P.l.a.y.b.a.c. + 6B 00 20 00 43 00 68 00 61 00 6E 00 6E 00 65 00 k. .C.h.a.n.n.e. + 6C 00 73 00 l.s. + ------ String Descriptor 19 ------ +bLength : 0x32 (50 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Playback Output terminal" +Data (HexDump) : 32 03 50 00 6C 00 61 00 79 00 62 00 61 00 63 00 2.P.l.a.y.b.a.c. + 6B 00 20 00 4F 00 75 00 74 00 70 00 75 00 74 00 k. .O.u.t.p.u.t. + 20 00 74 00 65 00 72 00 6D 00 69 00 6E 00 61 00 .t.e.r.m.i.n.a. + 6C 00 l. + ------ String Descriptor 20 ------ +bLength : 0x2E (46 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Capture Input terminal" +Data (HexDump) : 2E 03 43 00 61 00 70 00 74 00 75 00 72 00 65 00 ..C.a.p.t.u.r.e. + 20 00 49 00 6E 00 70 00 75 00 74 00 20 00 74 00 .I.n.p.u.t. .t. + 65 00 72 00 6D 00 69 00 6E 00 61 00 6C 00 e.r.m.i.n.a.l. + ------ String Descriptor 21 ------ +bLength : 0x22 (34 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Capture Channels" +Data (HexDump) : 22 03 43 00 61 00 70 00 74 00 75 00 72 00 65 00 ".C.a.p.t.u.r.e. + 20 00 43 00 68 00 61 00 6E 00 6E 00 65 00 6C 00 .C.h.a.n.n.e.l. + 73 00 s. + ------ String Descriptor 22 ------ +bLength : 0x30 (48 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Capture Output terminal" +Data (HexDump) : 30 03 43 00 61 00 70 00 74 00 75 00 72 00 65 00 0.C.a.p.t.u.r.e. + 20 00 4F 00 75 00 74 00 70 00 75 00 74 00 20 00 .O.u.t.p.u.t. . + 74 00 65 00 72 00 6D 00 69 00 6E 00 61 00 6C 00 t.e.r.m.i.n.a.l. + ------ String Descriptor 23 ------ +bLength : 0x1E (30 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Capture Volume" +Data (HexDump) : 1E 03 43 00 61 00 70 00 74 00 75 00 72 00 65 00 ..C.a.p.t.u.r.e. + 20 00 56 00 6F 00 6C 00 75 00 6D 00 65 00 .V.o.l.u.m.e. + ------ String Descriptor 24 ------ +bLength : 0x20 (32 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Playback Volume" +Data (HexDump) : 20 03 50 00 6C 00 61 00 79 00 62 00 61 00 63 00 .P.l.a.y.b.a.c. + 6B 00 20 00 56 00 6F 00 6C 00 75 00 6D 00 65 00 k. .V.o.l.u.m.e. + ------ String Descriptor 25 ------ +bLength : 0x24 (36 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Playback Inactive" +Data (HexDump) : 24 03 50 00 6C 00 61 00 79 00 62 00 61 00 63 00 $.P.l.a.y.b.a.c. + 6B 00 20 00 49 00 6E 00 61 00 63 00 74 00 69 00 k. .I.n.a.c.t.i. + 76 00 65 00 v.e. + ------ String Descriptor 26 ------ +bLength : 0x20 (32 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Playback Active" +Data (HexDump) : 20 03 50 00 6C 00 61 00 79 00 62 00 61 00 63 00 .P.l.a.y.b.a.c. + 6B 00 20 00 41 00 63 00 74 00 69 00 76 00 65 00 k. .A.c.t.i.v.e. + ------ String Descriptor 27 ------ +bLength : 0x22 (34 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Capture Inactive" +Data (HexDump) : 22 03 43 00 61 00 70 00 74 00 75 00 72 00 65 00 ".C.a.p.t.u.r.e. + 20 00 49 00 6E 00 61 00 63 00 74 00 69 00 76 00 .I.n.a.c.t.i.v. + 65 00 e. + ------ String Descriptor 28 ------ +bLength : 0x1E (30 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Capture Active" +Data (HexDump) : 1E 03 43 00 61 00 70 00 74 00 75 00 72 00 65 00 ..C.a.p.t.u.r.e. + 20 00 41 00 63 00 74 00 69 00 76 00 65 00 .A.c.t.i.v.e. +*/ + +namespace customer_camera_dual { +const uint8_t dev_desc[] = { + 0x12, 0x01, 0x00, 0x02, 0xEF, 0x02, 0x01, 0x40, 0x07, 0x22, 0x18, 0x00, 0x10, 0x03, 0x01, 0x02, + 0x03, 0x01 +}; + +const uint8_t cfg_desc[] = { + 0x09, 0x02, 0x7A, 0x03, 0x09, 0x01, 0x04, 0x80, 0xFA, 0x08, 0x0B, 0x00, 0x02, 0x0E, 0x03, 0x00, + 0x05, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0E, 0x01, 0x00, 0x05, 0x0D, 0x24, 0x01, 0x00, 0x01, 0x4E, + 0x00, 0x00, 0x6C, 0xDC, 0x02, 0x01, 0x01, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0C, 0x24, 0x05, 0x02, 0x01, 0x00, 0x40, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x00, 0x1A, 0x24, + 0x06, 0x06, 0xA2, 0x9E, 0x76, 0x41, 0xDE, 0x04, 0x47, 0xE3, 0x8B, 0x2B, 0xF4, 0x34, 0x1A, 0xFF, + 0x00, 0x3B, 0x03, 0x01, 0x02, 0x01, 0x07, 0x00, 0x07, 0x05, 0x81, 0x03, 0x10, 0x00, 0x08, 0x05, + 0x25, 0x03, 0x10, 0x00, 0x09, 0x04, 0x01, 0x00, 0x00, 0x0E, 0x02, 0x00, 0x06, 0x0E, 0x24, 0x01, + 0x01, 0x49, 0x00, 0x82, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x24, 0x06, 0x01, 0x01, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x24, 0x07, 0x01, 0x00, 0xD0, 0x02, 0x00, 0x05, 0x00, + 0x40, 0x19, 0x01, 0x00, 0x40, 0x19, 0x01, 0x00, 0x20, 0x1C, 0x00, 0x15, 0x16, 0x05, 0x00, 0x04, + 0x15, 0x16, 0x05, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, + 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, 0x09, 0x04, 0x01, 0x01, 0x01, 0x0E, 0x02, 0x00, 0x06, 0x07, + 0x05, 0x82, 0x05, 0x00, 0x0C, 0x01, 0x08, 0x0B, 0x02, 0x02, 0x0E, 0x03, 0x00, 0x08, 0x09, 0x04, + 0x02, 0x00, 0x01, 0x0E, 0x01, 0x00, 0x08, 0x0D, 0x24, 0x01, 0x00, 0x01, 0x4E, 0x00, 0x00, 0x6C, + 0xDC, 0x02, 0x01, 0x03, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0C, 0x24, 0x05, 0x02, 0x01, 0x00, 0x40, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x00, 0x1A, 0x24, 0x06, 0x06, 0xA2, + 0x9E, 0x76, 0x41, 0xDE, 0x04, 0x47, 0xE3, 0x8B, 0x2B, 0xF4, 0x34, 0x1A, 0xFF, 0x00, 0x3B, 0x03, + 0x01, 0x02, 0x01, 0x07, 0x00, 0x07, 0x05, 0x83, 0x03, 0x10, 0x00, 0x08, 0x05, 0x25, 0x03, 0x10, + 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0x0E, 0x02, 0x00, 0x09, 0x0E, 0x24, 0x01, 0x01, 0x02, 0x01, + 0x84, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x24, 0x10, 0x01, 0x05, 0x48, 0x32, 0x36, + 0x35, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71, 0x10, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x2A, 0x24, 0x11, 0x01, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0xE0, 0x2E, + 0x00, 0x00, 0xE0, 0x2E, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x2A, 0x24, + 0x11, 0x02, 0x00, 0x00, 0x05, 0xD0, 0x02, 0x00, 0xA0, 0x8C, 0x00, 0x00, 0xA0, 0x8C, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, + 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x2A, 0x24, 0x11, 0x03, 0x00, 0x80, 0x07, 0x38, + 0x04, 0x00, 0x68, 0x3C, 0x01, 0x00, 0x68, 0x3C, 0x01, 0x2A, 0x2C, 0x0A, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, + 0x0A, 0x00, 0x2A, 0x24, 0x11, 0x04, 0x00, 0x00, 0x0A, 0xA0, 0x05, 0x00, 0x80, 0x32, 0x02, 0x00, + 0x80, 0x32, 0x02, 0x2A, 0x2C, 0x0A, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x2A, 0x24, 0x11, 0x05, + 0x00, 0x00, 0x09, 0x10, 0x05, 0x00, 0xA0, 0xC7, 0x01, 0x00, 0xA0, 0xC7, 0x01, 0x2A, 0x2C, 0x0A, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, + 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, 0x09, 0x04, 0x03, 0x01, + 0x01, 0x0E, 0x02, 0x00, 0x09, 0x07, 0x05, 0x84, 0x05, 0x00, 0x0C, 0x01, 0x08, 0x0B, 0x04, 0x02, + 0x02, 0x02, 0x01, 0x0D, 0x09, 0x04, 0x04, 0x00, 0x01, 0x02, 0x02, 0x01, 0x0B, 0x05, 0x24, 0x00, + 0x10, 0x01, 0x05, 0x24, 0x01, 0x00, 0x05, 0x04, 0x24, 0x02, 0x02, 0x05, 0x24, 0x06, 0x04, 0x05, + 0x07, 0x05, 0x86, 0x03, 0x0A, 0x00, 0x09, 0x09, 0x04, 0x05, 0x00, 0x02, 0x0A, 0x00, 0x00, 0x0C, + 0x07, 0x05, 0x85, 0x02, 0x00, 0x02, 0x00, 0x07, 0x05, 0x01, 0x02, 0x00, 0x02, 0x00, 0x08, 0x0B, + 0x06, 0x03, 0x01, 0x02, 0x00, 0x0F, 0x09, 0x04, 0x06, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, 0x0A, + 0x24, 0x01, 0x00, 0x01, 0x4A, 0x00, 0x02, 0x07, 0x08, 0x0C, 0x24, 0x02, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x00, 0x12, 0x11, 0x09, 0x24, 0x03, 0x03, 0x01, 0x03, 0x00, 0x05, 0x13, 0x0B, 0x24, + 0x06, 0x05, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x18, 0x0C, 0x24, 0x02, 0x02, 0x01, 0x02, 0x00, + 0x01, 0x01, 0x00, 0x15, 0x14, 0x09, 0x24, 0x03, 0x04, 0x01, 0x01, 0x00, 0x06, 0x16, 0x0B, 0x24, + 0x06, 0x06, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x17, 0x07, 0x05, 0x87, 0x03, 0x02, 0x00, 0x04, + 0x09, 0x04, 0x07, 0x00, 0x00, 0x01, 0x02, 0x00, 0x19, 0x09, 0x04, 0x07, 0x01, 0x01, 0x01, 0x02, + 0x00, 0x1A, 0x07, 0x24, 0x01, 0x01, 0x01, 0x01, 0x00, 0x14, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, + 0x04, 0x40, 0x1F, 0x00, 0x80, 0x3E, 0x00, 0x44, 0xAC, 0x00, 0x80, 0xBB, 0x00, 0x09, 0x05, 0x02, + 0x09, 0x62, 0x00, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x01, 0x01, 0x00, 0x09, 0x04, 0x08, + 0x00, 0x00, 0x01, 0x02, 0x00, 0x1B, 0x09, 0x04, 0x08, 0x01, 0x01, 0x01, 0x02, 0x00, 0x1C, 0x07, + 0x24, 0x01, 0x04, 0x01, 0x01, 0x00, 0x14, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x04, 0x40, 0x1F, + 0x00, 0x80, 0x3E, 0x00, 0x44, 0xAC, 0x00, 0x80, 0xBB, 0x00, 0x09, 0x05, 0x88, 0x05, 0x62, 0x00, + 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00 +}; +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/dual_tusb.hpp b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/dual_tusb.hpp new file mode 100644 index 00000000..e282f713 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/dual_tusb.hpp @@ -0,0 +1,559 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include + +/* + ======================== USB Device ======================== + + +++++++++++++++++ Device Information ++++++++++++++++++ +Device Description : USB Composite Device +Device Path : \\?\USB#VID_303A&PID_8000#12345678#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE) +Kernel Name : \Device\USBPDO-19 +Device ID : USB\VID_303A&PID_8000\12345678 +Hardware IDs : USB\VID_303A&PID_8000&REV_0100 USB\VID_303A&PID_8000 +Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0067 (GUID_DEVCLASS_USB) +Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.19041.4355 Date: 2024-05-01) +Driver Inf : C:\Windows\inf\usb.inf +Legacy BusType : PNPBus +Class : USB +Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB) +Service : usbccgp +Enumerator : USB +Location Info : Port_#0003.Hub_#0010 +Location IDs : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(3), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(3) +Container ID : {ddab37e9-bf1d-5d60-87aa-5cdee04ae009} +Manufacturer Info : (Standard USB Host Controller) +Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) +Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) +Problem Code : 0 +Address : 3 +HcDisableSelectiveSuspend: 0 +EnableSelectiveSuspend : 0 +SelectiveSuspendEnabled : 0 +EnhancedPowerMgmtEnabled : 0 +IdleInWorkingState : 0 +WakeFromSleepState : 0 +Power State : D0 (supported: D0, D3, wake from D0) + Child Device 1 : UVC CAM1 (USB Video Device) + Device Path 1 : \\?\USB#VID_303A&PID_8000&MI_00#b&cf21808&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE) + Device Path 2 : \\?\USB#VID_303A&PID_8000&MI_00#b&cf21808&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (STATIC_KSCATEGORY_VIDEO_CAMERA) + Device Path 3 : \\?\USB#VID_303A&PID_8000&MI_00#b&cf21808&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) + Kernel Name : \Device\000001c2 + Device ID : USB\VID_303A&PID_8000&MI_00\B&CF21808&0&0000 + Class : Camera + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0005 (GUID_DEVCLASS_CAMERA) + Service : usbvideo + Location : 0005.0000.0004.001.003.003.000.000.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(3)#USBMI(0) PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(3)#USB(3) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(3)#USBMI(0) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(3)#USB(3) + Child Device 2 : UVC CAM2 (USB Video Device) + Device Path 1 : \\?\USB#VID_303A&PID_8000&MI_02#b&cf21808&0&0002#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE) + Device Path 2 : \\?\USB#VID_303A&PID_8000&MI_02#b&cf21808&0&0002#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (STATIC_KSCATEGORY_VIDEO_CAMERA) + Device Path 3 : \\?\USB#VID_303A&PID_8000&MI_02#b&cf21808&0&0002#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) + Kernel Name : \Device\000001c3 + Device ID : USB\VID_303A&PID_8000&MI_02\B&CF21808&0&0002 + Class : Camera + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0006 (GUID_DEVCLASS_CAMERA) + Service : usbvideo + Location : 0005.0000.0004.001.003.003.000.000.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(3)#USBMI(2) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(3)#USBMI(2) + + +++++++++++++++++ Registry USB Flags +++++++++++++++++ +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\303A80000100 + osvc : REG_BINARY 00 00 + + ---------------- Connection Information --------------- +Connection Index : 0x03 (Port 3) +Connection Status : 0x01 (DeviceConnected) +Current Config Value : 0x01 (Configuration 1) +Device Address : 0x09 (9) +Is Hub : 0x00 (no) +Device Bus Speed : 0x02 (High-Speed) +Number Of Open Pipes : 0x02 (2 pipes to data endpoints) +Pipe[0] : EndpointID=1 Direction=IN ScheduleOffset=0 Type=Bulk +Pipe[1] : EndpointID=2 Direction=IN ScheduleOffset=0 Type=Bulk +Data (HexDump) : 03 00 00 00 12 01 00 02 EF 02 01 40 3A 30 00 80 ...........@:0.. + 00 01 01 02 03 01 01 02 00 09 00 02 00 00 00 01 ................ + 00 00 00 07 05 81 02 00 02 01 00 00 00 00 07 05 ................ + 82 02 00 02 01 00 00 00 00 ......... + + --------------- Connection Information V2 ------------- +Connection Index : 0x03 (3) +Length : 0x10 (16 bytes) +SupportedUsbProtocols : 0x03 + Usb110 : 1 (yes, port supports USB 1.1) + Usb200 : 1 (yes, port supports USB 2.0) + Usb300 : 0 (no, port not supports USB 3.0) + ReservedMBZ : 0x00 +Flags : 0x00 + DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher) + DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher) + DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher) + DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher) + ReservedMBZ : 0x00 +Data (HexDump) : 03 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ + + ---------------------- Device Descriptor ---------------------- +bLength : 0x12 (18 bytes) +bDescriptorType : 0x01 (Device Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 bytes) +idVendor : 0x303A (Espressif Incorporated) +idProduct : 0x8000 +bcdDevice : 0x0100 +iManufacturer : 0x01 (String Descriptor 1) + *!*ERROR String descriptor not found +iProduct : 0x02 (String Descriptor 2) + *!*ERROR String descriptor not found +iSerialNumber : 0x03 (String Descriptor 3) + *!*ERROR String descriptor not found +bNumConfigurations : 0x01 (1 Configuration) +Data (HexDump) : 12 01 00 02 EF 02 01 40 3A 30 00 80 00 01 01 02 .......@:0...... + 03 01 .. + + ------------------ Configuration Descriptor ------------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x02 (Configuration Descriptor) +wTotalLength : 0x0125 (293 bytes) +bNumInterfaces : 0x04 (4 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x00 (No String Descriptor) +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 02 25 01 04 01 00 80 FA 08 0B 00 02 0E 03 00 ..%............. + 04 09 04 00 00 00 0E 01 01 04 0D 24 01 50 01 28 ...........$.P.( + 00 C0 FC 9B 01 01 01 12 24 02 01 01 02 00 00 00 ........$....... + 00 00 00 00 00 03 00 00 00 09 24 03 02 01 01 00 ..........$..... + 01 00 09 04 01 00 01 0E 02 01 04 0E 24 01 01 45 ............$..E + 00 81 00 02 00 00 00 01 00 0B 24 06 01 01 00 01 ..........$..... + 00 00 00 00 26 24 07 01 00 E0 01 0E 01 00 A4 1F ....&$.......... + 00 00 D0 78 02 80 F4 03 00 20 A1 07 00 00 20 A1 ...x..... .... . + 07 00 20 A1 07 00 20 A1 07 00 06 24 0D 01 01 04 .. ... ....$.... + 07 05 81 02 00 02 01 08 0B 02 02 0E 03 00 05 09 ................ + 04 02 00 00 0E 01 01 05 0D 24 01 50 01 28 00 C0 .........$.P.(.. + FC 9B 01 01 03 12 24 02 01 01 02 00 00 00 00 00 ......$......... + 00 00 00 03 00 00 00 09 24 03 02 01 01 00 01 00 ........$....... + 09 04 03 00 01 0E 02 01 05 0E 24 01 01 45 00 82 ..........$..E.. + 00 02 00 00 00 01 00 0B 24 06 01 01 00 01 00 00 ........$....... + 00 00 26 24 07 01 00 00 05 D0 02 00 00 E1 00 00 ..&$............ + 00 2F 0D 00 20 1C 00 2A 2C 0A 00 00 2A 2C 0A 00 ./.. ..*,...*,.. + 2A 2C 0A 00 2A 2C 0A 00 06 24 0D 01 01 04 07 05 *,..*,...$...... + 82 02 00 02 01 ..... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x04 (String Descriptor 4) + *!*ERROR String descriptor not found +Data (HexDump) : 08 0B 00 02 0E 03 00 04 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x01 *!*ERROR must be 0 for this class +iInterface : 0x04 (String Descriptor 4) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 00 00 00 0E 01 01 04 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0150 (UVC Version 1.50) +wTotalLength : 0x0028 (40 bytes) +dwClockFreq : 0x019BFCC0 (27 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 50 01 28 00 C0 FC 9B 01 01 01 .$.P.(....... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x00, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 0 no - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 00 .$.............. + 00 00 .. + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x02 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x01 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 02 01 01 00 01 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x01 *!*ERROR must be 0 for this class +iInterface : 0x04 (String Descriptor 4) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 00 01 0E 02 01 04 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x0045 (69 bytes) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x02 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 45 00 81 00 02 00 00 00 01 00 .$..E......... + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x01 (1) +bmFlags : 0x00 (Sample size is not fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 01 01 00 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x01E0 (480) +wHeight : 0x010E (270) +dwMinBitRate : 0x001FA400 (2073600 bps -> 259.125 KB/s) +dwMaxBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxVideoFrameBufferSize: 0x0003F480 (259200 bytes) +dwDefaultFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +bFrameIntervalType : 0x00 (0 discrete frame intervals supported) +dwMinFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +dwMaxFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +dwFrameIntervalStep : 0x0007A120 +*!*WARNING: dwMinFrameInterval + dwFrameIntervalStep is greater than dwMaxFrameInterval, this could cause problems +Data (HexDump) : 26 24 07 01 00 E0 01 0E 01 00 A4 1F 00 00 D0 78 &$.............x + 02 80 F4 03 00 20 A1 07 00 00 20 A1 07 00 20 A1 ..... .... ... . + 07 00 20 A1 07 00 .. ... + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0200 (max 512 bytes) +bInterval : 0x01 (at most 1 NAK each 1 microframes) +Data (HexDump) : 07 05 81 02 00 02 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x05 (String Descriptor 5) + *!*ERROR String descriptor not found +Data (HexDump) : 08 0B 02 02 0E 03 00 05 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x01 *!*ERROR must be 0 for this class +iInterface : 0x05 (String Descriptor 5) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 02 00 00 0E 01 01 05 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0150 (UVC Version 1.50) +wTotalLength : 0x0028 (40 bytes) +dwClockFreq : 0x019BFCC0 (27 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x03 +Data (HexDump) : 0D 24 01 50 01 28 00 C0 FC 9B 01 01 03 .$.P.(....... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x00, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 0 no - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 00 .$.............. + 00 00 .. + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x02 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x01 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 02 01 01 00 01 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x01 *!*ERROR must be 0 for this class +iInterface : 0x05 (String Descriptor 5) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 03 00 01 0E 02 01 05 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x0045 (69 bytes) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x02 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 45 00 82 00 02 00 00 00 01 00 .$..E......... + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x01 (1) +bmFlags : 0x00 (Sample size is not fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 01 01 00 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x00E10000 (14745600 bps -> 1.843 MB/s) +dwMaxBitRate : 0x0D2F0000 (221184000 bps -> 27.648 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x00 (0 discrete frame intervals supported) +dwMinFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +dwMaxFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +dwFrameIntervalStep : 0x000A2C2A +*!*WARNING: dwMinFrameInterval + dwFrameIntervalStep is greater than dwMaxFrameInterval, this could cause problems +Data (HexDump) : 26 24 07 01 00 00 05 D0 02 00 00 E1 00 00 00 2F &$............./ + 0D 00 20 1C 00 2A 2C 0A 00 00 2A 2C 0A 00 2A 2C .. ..*,...*,..*, + 0A 00 2A 2C 0A 00 ..*,.. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x82 (Direction=IN EndpointID=2) +bmAttributes : 0x02 (TransferType=Bulk) +wMaxPacketSize : 0x0200 (max 512 bytes) +bInterval : 0x01 (at most 1 NAK each 1 microframes) +Data (HexDump) : 07 05 82 02 00 02 01 ....... + + ----------------- Device Qualifier Descriptor ----------------- +Error : ERROR_GEN_FAILURE + + -------------------- String Descriptors ------------------- +none +*/ + +namespace dual_tusb { +const uint8_t dev_desc[] = { + 0x12, 0x01, 0x00, 0x02, 0xEF, 0x02, 0x01, 0x40, 0x3A, 0x30, 0x00, 0x80, 0x00, 0x01, 0x01, 0x02, + 0x03, 0x01 +}; + +const uint8_t cfg_desc[] = { + 0x09, 0x02, 0x25, 0x01, 0x04, 0x01, 0x00, 0x80, 0xFA, 0x08, 0x0B, 0x00, 0x02, 0x0E, 0x03, 0x00, + 0x04, 0x09, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x01, 0x04, 0x0D, 0x24, 0x01, 0x50, 0x01, 0x28, + 0x00, 0xC0, 0xFC, 0x9B, 0x01, 0x01, 0x01, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x24, 0x03, 0x02, 0x01, 0x01, 0x00, + 0x01, 0x00, 0x09, 0x04, 0x01, 0x00, 0x01, 0x0E, 0x02, 0x01, 0x04, 0x0E, 0x24, 0x01, 0x01, 0x45, + 0x00, 0x81, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x24, 0x06, 0x01, 0x01, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x26, 0x24, 0x07, 0x01, 0x00, 0xE0, 0x01, 0x0E, 0x01, 0x00, 0xA4, 0x1F, + 0x00, 0x00, 0xD0, 0x78, 0x02, 0x80, 0xF4, 0x03, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x00, 0x20, 0xA1, + 0x07, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, + 0x07, 0x05, 0x81, 0x02, 0x00, 0x02, 0x01, 0x08, 0x0B, 0x02, 0x02, 0x0E, 0x03, 0x00, 0x05, 0x09, + 0x04, 0x02, 0x00, 0x00, 0x0E, 0x01, 0x01, 0x05, 0x0D, 0x24, 0x01, 0x50, 0x01, 0x28, 0x00, 0xC0, + 0xFC, 0x9B, 0x01, 0x01, 0x03, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x24, 0x03, 0x02, 0x01, 0x01, 0x00, 0x01, 0x00, + 0x09, 0x04, 0x03, 0x00, 0x01, 0x0E, 0x02, 0x01, 0x05, 0x0E, 0x24, 0x01, 0x01, 0x45, 0x00, 0x82, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x24, 0x06, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x26, 0x24, 0x07, 0x01, 0x00, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x00, 0xE1, 0x00, 0x00, + 0x00, 0x2F, 0x0D, 0x00, 0x20, 0x1C, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x00, 0x2A, 0x2C, 0x0A, 0x00, + 0x2A, 0x2C, 0x0A, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, 0x07, 0x05, + 0x82, 0x02, 0x00, 0x02, 0x01 +}; +} diff --git a/host/class/uvc/usb_host_uvc_2/uvc_desc.txt b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/elp_h264.hpp similarity index 88% rename from host/class/uvc/usb_host_uvc_2/uvc_desc.txt rename to host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/elp_h264.hpp index 6ab8cd5d..faf335a0 100644 --- a/host/class/uvc/usb_host_uvc_2/uvc_desc.txt +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/elp_h264.hpp @@ -1,44 +1,36 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ - =========================== USB Port1 =========================== +#pragma once -Connection Status : 0x01 (Device is connected) -Port Chain : 3-1-3-4-1 - - ========================== Summary ========================= -Vendor ID : 0x32E4 (Ailipu Technology Co., Ltd.) -Product ID : 0x9422 -USB version : 2.00 -Port maximum Speed : High-Speed -Device maximum Speed : High-Speed -Device Connection Speed : High-Speed -Self Powered : no -Demanded Current : 500 mA -Used Endpoints : 2 +#include +/* ======================== USB Device ======================== +++++++++++++++++ Device Information ++++++++++++++++++ Device Description : USB Composite Device -Device Path : \\?\USB#VID_32E4&PID_9422#2020032801#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE) -Kernel Name : \Device\USBPDO-19 Device ID : USB\VID_32E4&PID_9422\2020032801 Hardware IDs : USB\VID_32E4&PID_9422&REV_0100 USB\VID_32E4&PID_9422 -Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0041 (GUID_DEVCLASS_USB) -Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.19041.4355 Date: 2024-05-01) +Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0082 (GUID_DEVCLASS_USB) +Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.19041.4474 Date: 2024-06-13) Driver Inf : C:\Windows\inf\usb.inf Legacy BusType : PNPBus Class : USB Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB) Service : usbccgp Enumerator : USB -Location Info : Port_#0001.Hub_#0012 -Location IDs : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(1), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(1) +Location Info : Port_#0006.Hub_#0013 +Location IDs : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6) Container ID : {068caf32-6f04-5def-b70f-1dfab2acdd8e} Manufacturer Info : (Standard USB Host Controller) Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) Problem Code : 0 -Address : 1 +Address : 6 HcDisableSelectiveSuspend: 0 EnableSelectiveSuspend : 0 SelectiveSuspendEnabled : 0 @@ -47,44 +39,27 @@ IdleInWorkingState : 0 WakeFromSleepState : 0 Power State : D0 (supported: D0, D3, wake from D0) Child Device 1 : USB Camera (USB Video Device) - Device Path 1 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Device Path 2 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (STATIC_KSCATEGORY_VIDEO_CAMERA) - Device Path 3 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE) - Device Path 4 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Device Path 5 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Device Path 6 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Device Path 7 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Device Path 8 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Device Path 9 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Device Path 10 : \\?\USB#VID_32E4&PID_9422&MI_00#a&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) - Kernel Name : \Device\00000492 - Device ID : USB\VID_32E4&PID_9422&MI_00\A&149655B1&0&0000 + Device Path : \\?\USB#VID_32E4&PID_9422&MI_00#b&149655b1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO) + Kernel Name : \Device\00000365 + Device ID : USB\VID_32E4&PID_9422&MI_00\B&149655B1&0&0000 Class : Camera - Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0004 (GUID_DEVCLASS_CAMERA) + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0005 (GUID_DEVCLASS_CAMERA) Service : usbvideo - Location : 0005.0000.0004.001.003.004.001.000.000 - LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(1)#USBMI(0) PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(1)#USB(1) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(1)#USBMI(0) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(1)#USB(1) + Location : 0005.0000.0004.001.003.001.003.006.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(0) PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6)#USB(6) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(0) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6)#USB(6) Child Device 2 : H264 USB Camera (USB Audio Device) - Device Path 1 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Device Path 2 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE) - Device Path 3 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Device Path 4 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Device Path 5 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Device Path 6 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Device Path 7 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Device Path 8 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Device Path 9 : \\?\USB#VID_32E4&PID_9422&MI_03#a&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) - Kernel Name : \Device\00000493 - Device ID : USB\VID_32E4&PID_9422&MI_03\A&149655B1&0&0003 + Device Path : \\?\USB#VID_32E4&PID_9422&MI_03#b&149655b1&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) + Kernel Name : \Device\00000366 + Device ID : USB\VID_32E4&PID_9422&MI_03\B&149655B1&0&0003 Class : MEDIA Driver KeyName : {4d36e96c-e325-11ce-bfc1-08002be10318}\0008 (GUID_DEVCLASS_MEDIA) Service : usbaudio - Location : 0005.0000.0004.001.003.004.001.000.000 - LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(4)#USB(1)#USBMI(3) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(4)#USB(1)#USBMI(3) + Location : 0005.0000.0004.001.003.001.003.006.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(3) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(6)#USBMI(3) Child Device 1 : Microphone (H264 USB Camera) (Audio Endpoint) - Device ID : SWD\MMDEVAPI\{0.0.1.00000000}.{D056F20B-7F71-4AD3-B253-6D0DCC067823} + Device ID : SWD\MMDEVAPI\{0.0.1.00000000}.{BBBA02A7-B137-4252-B0CF-EF0F84C1D0B7} Class : AudioEndpoint - Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0029 (AUDIOENDPOINT_CLASS_UUID) + Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0037 (AUDIOENDPOINT_CLASS_UUID) +++++++++++++++++ Registry USB Flags +++++++++++++++++ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\32E494220100 @@ -92,20 +67,20 @@ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\32E494220100 NewInterfaceUsage : REG_DWORD 00000000 (0) ---------------- Connection Information --------------- -Connection Index : 0x01 (Port 1) +Connection Index : 0x06 (Port 6) Connection Status : 0x01 (DeviceConnected) Current Config Value : 0x01 (Configuration 1) -Device Address : 0x08 (8) +Device Address : 0x0F (15) Is Hub : 0x00 (no) Device Bus Speed : 0x02 (High-Speed) Number Of Open Pipes : 0x01 (1 pipe to data endpoints) Pipe[0] : EndpointID=3 Direction=IN ScheduleOffset=0 Type=Interrupt -Data (HexDump) : 01 00 00 00 12 01 00 02 EF 02 01 40 E4 32 22 94 ...........@.2". - 00 01 02 01 03 01 01 02 00 08 00 01 00 00 00 01 ................ +Data (HexDump) : 06 00 00 00 12 01 00 02 EF 02 01 40 E4 32 22 94 ...........@.2". + 00 01 02 01 03 01 01 02 00 0F 00 01 00 00 00 01 ................ 00 00 00 07 05 83 03 10 00 06 00 00 00 00 .............. --------------- Connection Information V2 ------------- -Connection Index : 0x01 (1) +Connection Index : 0x06 (6) Length : 0x10 (16 bytes) SupportedUsbProtocols : 0x03 Usb110 : 1 (yes, port supports USB 1.1) @@ -118,7 +93,7 @@ Flags : 0x00 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher) DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher) ReservedMBZ : 0x00 -Data (HexDump) : 01 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ +Data (HexDump) : 06 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ ---------------------- Device Descriptor ---------------------- bLength : 0x12 (18 bytes) @@ -1675,3 +1650,103 @@ bDescriptorType : 0x03 (String Descriptor) Language 0x0409 : "USB Camera" Data (HexDump) : 16 03 55 00 53 00 42 00 20 00 43 00 61 00 6D 00 ..U.S.B. .C.a.m. 65 00 72 00 61 00 e.r.a. +*/ + +namespace elp_h264 { +const uint8_t dev_desc[] = { + 0x12, 0x01, 0x00, 0x02, 0xEF, 0x02, 0x01, 0x40, 0xE4, 0x32, 0x22, 0x94, 0x00, 0x01, 0x02, 0x01, + 0x03, 0x01 +}; +const uint8_t cfg_desc[] = { + 0x09, 0x02, 0x92, 0x05, 0x05, 0x01, 0x00, 0x80, 0xFA, 0x08, 0x0B, 0x00, 0x03, 0x0E, 0x03, 0x00, + 0x05, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0E, 0x01, 0x00, 0x05, 0x0E, 0x24, 0x01, 0x00, 0x01, 0x73, + 0x00, 0xC0, 0xE1, 0xE4, 0x00, 0x02, 0x01, 0x02, 0x09, 0x24, 0x03, 0x05, 0x01, 0x01, 0x00, 0x04, + 0x00, 0x1C, 0x24, 0x06, 0x03, 0x70, 0x33, 0xF0, 0x28, 0x11, 0x63, 0x2E, 0x4A, 0xBA, 0x2C, 0x68, + 0x90, 0xEB, 0x33, 0x40, 0x16, 0x18, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x1A, 0x24, 0x06, + 0x04, 0x94, 0x73, 0xDF, 0xDD, 0x3E, 0x97, 0x27, 0x47, 0xBE, 0xD9, 0x04, 0xED, 0x64, 0x26, 0xDC, + 0x67, 0x08, 0x01, 0x03, 0x01, 0xFF, 0x00, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0E, 0x20, 0x00, 0x0B, 0x24, 0x05, 0x02, 0x01, 0x00, 0x00, + 0x02, 0x7F, 0x17, 0x00, 0x09, 0x24, 0x03, 0x06, 0x01, 0x01, 0x00, 0x04, 0x00, 0x07, 0x05, 0x83, + 0x03, 0x10, 0x00, 0x06, 0x05, 0x25, 0x03, 0x40, 0x00, 0x09, 0x04, 0x01, 0x00, 0x00, 0x0E, 0x02, + 0x00, 0x00, 0x0F, 0x24, 0x01, 0x02, 0x47, 0x02, 0x81, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x0B, 0x24, 0x06, 0x01, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x26, 0x24, 0x07, 0x01, + 0x00, 0x80, 0x07, 0x38, 0x04, 0x00, 0xC0, 0xA9, 0x1D, 0x00, 0x80, 0x53, 0x3B, 0x4D, 0x4A, 0x3F, + 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, + 0x0A, 0x00, 0x26, 0x24, 0x07, 0x02, 0x00, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x00, 0x2F, 0x0D, 0x00, + 0x00, 0x5E, 0x1A, 0x4D, 0x22, 0x1C, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, + 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x03, 0x00, 0x20, 0x03, 0x58, + 0x02, 0x00, 0xD0, 0xDD, 0x06, 0x00, 0xA0, 0xBB, 0x0D, 0x4D, 0xA8, 0x0E, 0x00, 0x15, 0x16, 0x05, + 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, + 0x07, 0x04, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0xCA, 0x08, 0x4D, + 0x62, 0x09, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, + 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x05, 0x00, 0x80, 0x02, 0x68, 0x01, 0x00, 0xC0, 0x4B, + 0x03, 0x00, 0x80, 0x97, 0x06, 0x4D, 0x0A, 0x07, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, + 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x06, 0x00, 0x60, + 0x01, 0x20, 0x01, 0x00, 0x40, 0x73, 0x01, 0x00, 0x80, 0xE6, 0x02, 0x4D, 0x1A, 0x03, 0x00, 0x15, + 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, + 0x26, 0x24, 0x07, 0x07, 0x00, 0x40, 0x01, 0xF0, 0x00, 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x32, + 0x02, 0x4D, 0x5A, 0x02, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, + 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x08, 0x00, 0x80, 0x07, 0x38, 0x04, 0x00, + 0xC0, 0xA9, 0x1D, 0x00, 0x80, 0x53, 0x3B, 0x4D, 0x4A, 0x3F, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, + 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x1B, 0x24, 0x04, 0x02, + 0x06, 0x59, 0x55, 0x59, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, + 0x71, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x26, 0x24, 0x05, 0x01, 0x00, 0x80, 0x02, 0xE0, 0x01, + 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0xCA, 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x1E, 0x24, 0x05, + 0x02, 0x00, 0x20, 0x03, 0x58, 0x02, 0x00, 0xD0, 0xDD, 0x06, 0x00, 0xD0, 0xDD, 0x06, 0x00, 0xA6, + 0x0E, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x01, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x05, 0x03, 0x00, + 0x80, 0x02, 0x68, 0x01, 0x00, 0xC0, 0x4B, 0x03, 0x00, 0x80, 0x97, 0x06, 0x00, 0x08, 0x07, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x26, 0x24, 0x05, 0x04, 0x00, 0x60, 0x01, 0x20, 0x01, 0x00, 0x40, 0x73, 0x01, 0x00, 0x80, + 0xE6, 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, + 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x05, 0x05, 0x00, 0x40, 0x01, 0xF0, 0x00, + 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x32, 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x05, + 0x06, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0xCA, 0x08, 0x00, 0x60, + 0x09, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, 0x09, 0x04, 0x01, 0x01, 0x01, 0x0E, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x80, 0x00, 0x01, 0x09, 0x04, 0x01, 0x02, 0x01, 0x0E, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x01, 0x01, 0x09, 0x04, 0x01, 0x03, 0x01, 0x0E, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x03, 0x01, 0x09, 0x04, 0x01, 0x04, 0x01, 0x0E, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x0B, 0x01, 0x09, 0x04, 0x01, 0x05, 0x01, 0x0E, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x13, 0x01, 0x09, 0x04, 0x01, 0x06, 0x01, 0x0E, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x14, 0x01, 0x09, 0x04, 0x02, 0x00, 0x00, 0x0E, 0x02, + 0x00, 0x00, 0x0E, 0x24, 0x01, 0x01, 0x60, 0x01, 0x82, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x1C, 0x24, 0x10, 0x01, 0x08, 0x48, 0x32, 0x36, 0x34, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, + 0xAA, 0x00, 0x38, 0x9B, 0x71, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x26, 0x24, 0x11, 0x01, + 0x00, 0x80, 0x07, 0x38, 0x04, 0x00, 0x40, 0xE3, 0x09, 0x00, 0x80, 0xC6, 0x13, 0x15, 0x16, 0x05, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, + 0x0A, 0x00, 0x26, 0x24, 0x11, 0x02, 0x00, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x00, 0x65, 0x04, 0x00, + 0x00, 0xCA, 0x08, 0x15, 0x16, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x03, 0x00, 0x20, 0x03, 0x58, + 0x02, 0x00, 0xF0, 0x49, 0x02, 0x00, 0xE0, 0x93, 0x04, 0x15, 0x16, 0x05, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, + 0x11, 0x04, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xEE, 0x02, 0x15, + 0x16, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, + 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x05, 0x00, 0x80, 0x02, 0x68, 0x01, 0x00, 0x40, 0x19, + 0x01, 0x00, 0x80, 0x32, 0x02, 0x15, 0x16, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x06, 0x00, 0x60, + 0x01, 0x20, 0x01, 0x00, 0xC0, 0x7B, 0x00, 0x00, 0x80, 0xF7, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, + 0x26, 0x24, 0x11, 0x07, 0x00, 0x40, 0x01, 0xF0, 0x00, 0x00, 0xC0, 0x5D, 0x00, 0x00, 0x80, 0xBB, + 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, + 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x08, 0x00, 0x80, 0x07, 0x38, 0x04, 0x00, + 0x40, 0xE3, 0x09, 0x00, 0x80, 0xC6, 0x13, 0x15, 0x16, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x06, 0x24, 0x0D, 0x01, + 0x01, 0x04, 0x09, 0x04, 0x02, 0x01, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x82, 0x05, 0x80, + 0x00, 0x01, 0x09, 0x04, 0x02, 0x02, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x82, 0x05, 0x00, + 0x01, 0x01, 0x09, 0x04, 0x02, 0x03, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x82, 0x05, 0x20, + 0x03, 0x01, 0x09, 0x04, 0x02, 0x04, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x82, 0x05, 0x20, + 0x0B, 0x01, 0x09, 0x04, 0x02, 0x05, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x82, 0x05, 0x20, + 0x13, 0x01, 0x09, 0x04, 0x02, 0x06, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x82, 0x05, 0x00, + 0x14, 0x01, 0x08, 0x0B, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x00, 0x09, 0x24, 0x01, 0x00, 0x01, 0x29, 0x00, 0x01, 0x04, 0x0C, 0x24, 0x02, 0x01, + 0x01, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x24, 0x06, 0x02, 0x01, 0x02, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x00, 0x09, 0x04, 0x04, 0x00, + 0x00, 0x01, 0x02, 0x00, 0x00, 0x09, 0x04, 0x04, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, 0x24, + 0x01, 0x03, 0x01, 0x01, 0x00, 0x1D, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x07, 0x40, 0x1F, 0x00, + 0x11, 0x2B, 0x00, 0x80, 0x3E, 0x00, 0x22, 0x56, 0x00, 0xC0, 0x5D, 0x00, 0x44, 0xAC, 0x00, 0x80, + 0xBB, 0x00, 0x09, 0x05, 0x84, 0x05, 0x92, 0x01, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, + 0x92, 0x01 +}; +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/elp_h265.hpp b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/elp_h265.hpp new file mode 100644 index 00000000..5976ce37 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/elp_h265.hpp @@ -0,0 +1,2434 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include + +/* + ======================== USB Device ======================== + + +++++++++++++++++ Device Information ++++++++++++++++++ +Device Description : USB Composite Device +Device Path : \\?\USB#VID_32E4&PID_9415#10ac120458586223#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE) +Kernel Name : \Device\USBPDO-36 +Device ID : USB\VID_32E4&PID_9415\10AC120458586223 +Hardware IDs : USB\VID_32E4&PID_9415&REV_0419 USB\VID_32E4&PID_9415 +Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0100 (GUID_DEVCLASS_USB) +Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.19041.4355 Date: 2024-05-01) +Driver Inf : C:\Windows\inf\usb.inf +Legacy BusType : PNPBus +Class : USB +Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB) +Service : usbccgp +Enumerator : USB +Location Info : Port_#0003.Hub_#0019 +Location IDs : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(2)#USB(1)#USB(3), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(2)#USB(1)#USB(3) +Container ID : {a14fe21c-3879-5b34-a760-46be5e7e733a} +Manufacturer Info : (Standard USB Host Controller) +Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) +Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) +Problem Code : 0 +Address : 3 +HcDisableSelectiveSuspend: 0 +EnableSelectiveSuspend : 0 +SelectiveSuspendEnabled : 0 +EnhancedPowerMgmtEnabled : 0 +IdleInWorkingState : 0 +WakeFromSleepState : 0 +Power State : D0 (supported: D0, D3, wake from D0) + Child Device 1 : HDMI USB Camera (USB Video Device) + Device Path : \\?\USB#VID_32E4&PID_9415&MI_00#b&288ef1eb&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (STATIC_KSCATEGORY_VIDEO_CAMERA) + Kernel Name : \Device\000002dc + Device ID : USB\VID_32E4&PID_9415&MI_00\B&288EF1EB&0&0000 + Class : Camera + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0010 (GUID_DEVCLASS_CAMERA) + Service : usbvideo + Location : 0005.0000.0004.001.003.002.001.003.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(2)#USB(1)#USB(3)#USBMI(0) PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(2)#USB(1)#USB(3)#USB(3) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(2)#USB(1)#USB(3)#USBMI(0) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(2)#USB(1)#USB(3)#USB(3) + + +++++++++++++++++ Registry USB Flags +++++++++++++++++ +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\32E494150419 + osvc : REG_BINARY 00 00 + + ---------------- Connection Information --------------- +Connection Index : 0x03 (Port 3) +Connection Status : 0x01 (DeviceConnected) +Current Config Value : 0x01 (Configuration 1) +Device Address : 0x11 (17) +Is Hub : 0x00 (no) +Device Bus Speed : 0x02 (High-Speed) +Number Of Open Pipes : 0x00 (0 pipes to data endpoints) +Data (HexDump) : 03 00 00 00 12 01 00 02 EF 02 01 40 E4 32 15 94 ...........@.2.. + 19 04 01 02 03 01 01 02 00 11 00 00 00 00 00 01 ................ + 00 00 00 ... + + --------------- Connection Information V2 ------------- +Connection Index : 0x03 (3) +Length : 0x10 (16 bytes) +SupportedUsbProtocols : 0x03 + Usb110 : 1 (yes, port supports USB 1.1) + Usb200 : 1 (yes, port supports USB 2.0) + Usb300 : 0 (no, port not supports USB 3.0) + ReservedMBZ : 0x00 +Flags : 0x00 + DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher) + DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher) + DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher) + DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher) + ReservedMBZ : 0x00 +Data (HexDump) : 03 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ + + ---------------------- Device Descriptor ---------------------- +bLength : 0x12 (18 bytes) +bDescriptorType : 0x01 (Device Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 bytes) +idVendor : 0x32E4 (Ailipu Technology Co., Ltd.) +idProduct : 0x9415 +bcdDevice : 0x0419 +iManufacturer : 0x01 (String Descriptor 1) + *!*ERROR String descriptor not found +iProduct : 0x02 (String Descriptor 2) + *!*ERROR String descriptor not found +iSerialNumber : 0x03 (String Descriptor 3) + *!*ERROR String descriptor not found +bNumConfigurations : 0x01 (1 Configuration) +Data (HexDump) : 12 01 00 02 EF 02 01 40 E4 32 15 94 19 04 01 02 .......@.2...... + 03 01 .. + + ------------------ Configuration Descriptor ------------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x02 (Configuration Descriptor) +wTotalLength : 0x05B0 (1456 bytes) +bNumInterfaces : 0x02 (2 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x04 (String Descriptor 4) + *!*ERROR String descriptor not found +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 02 B0 05 02 01 04 80 FA 08 0B 00 02 0E 03 00 ................ + 05 09 04 00 00 00 0E 01 00 08 0D 24 01 10 01 68 ...........$...h + 00 00 6C DC 02 01 01 12 24 02 01 01 02 00 00 00 ..l.....$....... + 00 00 00 00 00 03 0E 22 00 0C 24 05 02 01 00 40 ......."..$....@ + 02 7F 17 00 00 1A 24 06 03 18 20 2E 30 11 63 2E ......$... .0.c. + 4A BA 2C 68 90 EB 33 40 16 02 01 02 01 03 06 1A J.,h..3@........ + 24 06 04 A4 FB CB 33 26 FD E4 4C 90 76 A1 93 1F $.....3&..L.v... + E7 4C 5E 02 01 02 01 03 07 09 24 03 04 01 01 00 .L^.......$..... + 03 00 09 04 01 00 00 0E 02 00 09 11 24 01 04 E5 ............$... + 04 85 00 04 00 00 00 01 00 00 00 00 0B 24 06 01 .............$.. + 08 00 08 00 00 00 00 26 24 07 01 00 80 02 68 01 .......&$.....h. + 00 D0 78 02 00 A0 F1 04 00 46 05 00 15 16 05 00 ..x......F...... + 03 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 07 ..... ...*,..&$. + 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 06 00 08 ........K....... + 07 00 15 16 05 00 03 15 16 05 00 20 A1 07 00 2A ........... ...* + 2C 0A 00 26 24 07 03 00 C0 03 1C 02 00 D4 8F 05 ,..&$........... + 00 A8 1F 0B 80 DD 0B 00 15 16 05 00 03 15 16 05 ................ + 00 20 A1 07 00 2A 2C 0A 00 26 24 07 04 00 00 04 . ...*,..&$..... + 40 02 00 00 54 06 00 00 A8 0C 00 80 0D 00 15 16 @...T........... + 05 00 03 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 ....... ...*,..& + 24 07 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 13 $........@...... + 00 18 15 00 15 16 05 00 03 15 16 05 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 26 24 07 06 00 80 07 38 04 00 50 .*,..&$.....8..P + 3F 16 00 A0 7E 2C 00 76 2F 00 15 16 05 00 03 15 ?...~,.v/....... + 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 07 07 00 ... ...*,..&$... + 00 0A A0 05 00 00 8D 27 00 00 1A 4F 00 60 54 00 .......'...O.`T. + 15 16 05 00 03 15 16 05 00 20 A1 07 00 2A 2C 0A ......... ...*,. + 00 26 24 07 08 00 00 0F 70 08 00 40 FD 58 00 80 .&$.....p..@.X.. + FA B1 00 D8 BD 00 15 16 05 00 03 15 16 05 00 20 ............... + A1 07 00 2A 2C 0A 00 1C 24 10 02 08 48 32 36 34 ...*,...$...H264 + 00 00 10 00 80 00 00 AA 00 38 9B 71 10 08 00 00 .........8.q.... + 00 00 01 26 24 11 01 00 80 02 68 01 00 D0 78 02 ...&$.....h...x. + 00 A0 F1 04 15 16 05 00 03 2C 0A 00 00 15 16 05 .........,...... + 00 20 A1 07 00 2A 2C 0A 00 26 24 11 02 00 80 02 . ...*,..&$..... + E0 01 00 C0 4B 03 00 80 97 06 15 16 05 00 03 2C ....K.........., + 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 ....... ...*,..& + 24 11 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F 0B $............... + 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 .....,....... .. + 00 2A 2C 0A 00 26 24 11 04 00 00 04 40 02 00 00 .*,..&$.....@... + 54 06 00 00 A8 0C 15 16 05 00 03 2C 0A 00 00 15 T..........,.... + 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 05 00 ... ...*,..&$... + 00 05 D0 02 00 40 E3 09 00 80 C6 13 15 16 05 00 .....@.......... + 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A .,....... ...*,. + 00 26 24 11 06 00 80 07 38 04 00 50 3F 16 00 A0 .&$.....8..P?... + 7E 2C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 ~,.....,....... + A1 07 00 2A 2C 0A 00 26 24 11 07 00 00 0A A0 05 ...*,..&$....... + 00 00 8D 27 00 00 1A 4F 15 16 05 00 03 2C 0A 00 ...'...O.....,.. + 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 ..... ...*,..&$. + 08 00 00 0F 70 08 00 40 FD 58 00 80 FA B1 15 16 ....p..@.X...... + 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A ...,....... ...* + 2C 0A 00 1C 24 10 03 08 48 32 36 35 00 00 10 00 ,...$...H265.... + 80 00 00 AA 00 38 9B 71 10 08 00 00 00 00 01 26 .....8.q.......& + 24 11 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 04 $.....h...x..... + 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 .....,....... .. + 00 2A 2C 0A 00 26 24 11 02 00 80 02 E0 01 00 C0 .*,..&$......... + 4B 03 00 80 97 06 15 16 05 00 03 2C 0A 00 00 15 K..........,.... + 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 03 00 ... ...*,..&$... + C0 03 1C 02 00 D4 8F 05 00 A8 1F 0B 15 16 05 00 ................ + 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A .,....... ...*,. + 00 26 24 11 04 00 00 04 40 02 00 00 54 06 00 00 .&$.....@...T... + A8 0C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 .......,....... + A1 07 00 2A 2C 0A 00 26 24 11 05 00 00 05 D0 02 ...*,..&$....... + 00 40 E3 09 00 80 C6 13 15 16 05 00 03 2C 0A 00 .@...........,.. + 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 ..... ...*,..&$. + 06 00 80 07 38 04 00 50 3F 16 00 A0 7E 2C 15 16 ....8..P?...~,.. + 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A ...,....... ...* + 2C 0A 00 26 24 11 07 00 00 0A A0 05 00 00 8D 27 ,..&$..........' + 00 00 1A 4F 15 16 05 00 03 2C 0A 00 00 15 16 05 ...O.....,...... + 00 20 A1 07 00 2A 2C 0A 00 26 24 11 08 00 00 0F . ...*,..&$..... + 70 08 00 40 FD 58 00 80 FA B1 15 16 05 00 03 2C p..@.X........., + 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 1B ....... ...*,... + 24 04 04 06 59 55 59 32 00 00 10 00 80 00 00 AA $...YUY2........ + 00 38 9B 71 10 06 00 00 00 00 26 24 05 01 00 80 .8.q......&$.... + 02 68 01 00 C0 4B 03 00 80 97 06 00 08 07 00 15 .h...K.......... + 16 05 00 03 15 16 05 00 20 A1 07 00 2A 2C 0A 00 ........ ...*,.. + 26 24 05 02 00 80 02 E0 01 00 00 65 04 00 00 CA &$.........e.... + 08 00 60 09 00 15 16 05 00 03 15 16 05 00 20 A1 ..`........... . + 07 00 2A 2C 0A 00 26 24 05 03 00 C0 03 1C 02 00 ..*,..&$........ + D0 78 02 00 70 6A 07 00 D2 0F 00 2A 2C 0A 00 03 .x..pj.....*,... + 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 26 24 05 04 *,..@B......&$.. + 00 00 04 40 02 00 00 D0 02 00 00 70 08 00 00 12 ...@.......p.... + 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 0F 00 80 84 .*,...*,..@B.... + 1E 00 26 24 05 05 00 00 05 D0 02 00 00 C2 01 00 ..&$............ + 00 CA 08 00 20 1C 00 40 42 0F 00 03 40 42 0F 00 .... ..@B...@B.. + 80 84 1E 00 40 4B 4C 00 22 24 05 06 00 80 07 38 ....@KL."$.....8 + 04 00 80 F4 03 00 40 E3 09 00 48 3F 00 80 84 1E ......@...H?.... + 00 02 80 84 1E 00 40 4B 4C 00 06 24 0D 01 01 04 ......@KL..$.... + 09 04 01 01 01 0E 02 00 0A 07 05 85 05 00 02 01 ................ + 09 04 01 02 01 0E 02 00 0B 07 05 85 05 00 04 01 ................ + 09 04 01 03 01 0E 02 00 0C 07 05 85 05 00 0C 01 ................ + 09 04 01 04 01 0E 02 00 0D 07 05 85 05 00 14 01 ................ + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x05 (String Descriptor 5) + *!*ERROR String descriptor not found +Data (HexDump) : 08 0B 00 02 0E 03 00 05 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x08 (String Descriptor 8) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 00 00 00 0E 01 00 08 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0110 (UVC Version 1.10) +wTotalLength : 0x0068 (104 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 10 01 68 00 00 6C DC 02 01 01 .$...h..l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x0E, 0x22, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 1 yes - Auto-Exposure Priority + D3 : 1 yes - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 1 yes - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 1 yes - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 0E .$.............. + 22 00 ". + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x7F, 0x17 + D0 : 1 yes - Brightness + D1 : 1 yes - Contrast + D2 : 1 yes - Hue + D3 : 1 yes - Saturation + D4 : 1 yes - Sharpness + D5 : 1 yes - Gamma + D6 : 1 yes - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 1 yes - Backlight Compensation + D9 : 1 yes - Gain + D10 : 1 yes - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 1 yes - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +bmVideoStandards : 0x00 + D0 : 0 no - None + D1 : 0 no - NTSC - 525/60 + D2 : 0 no - PAL - 625/50 + D3 : 0 no - SECAM - 625/50 + D4 : 0 no - NTSC - 625/50 + D5 : 0 no - PAL - 525/60 + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0C 24 05 02 01 00 40 02 7F 17 00 00 .$....@..... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x03 +guidExtensionCode : {302E2018-6311-4A2E-BA2C-6890EB334016} +bNumControls : 0x02 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x06 + *!*ERROR String descriptor not found +Data (HexDump) : 1A 24 06 03 18 20 2E 30 11 63 2E 4A BA 2C 68 90 .$... .0.c.J.,h. + EB 33 40 16 02 01 02 01 03 06 .3@....... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x04 +guidExtensionCode : {33CBFBA4-FD26-4CE4-9076-A1931FE74C5E} +bNumControls : 0x02 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x07 + *!*ERROR String descriptor not found +Data (HexDump) : 1A 24 06 04 A4 FB CB 33 26 FD E4 4C 90 76 A1 93 .$.....3&..L.v.. + 1F E7 4C 5E 02 01 02 01 03 07 ..L^...... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x04 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x03 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 04 01 01 00 03 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x09 (String Descriptor 9) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 00 00 0E 02 00 09 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x11 (17 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x04 +wTotalLength : 0x04E5 (1253 bytes) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x04 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 2 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 3 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 4 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 11 24 01 04 E5 04 85 00 04 00 00 00 01 00 00 00 .$.............. + 00 . + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x08 (8) +bmFlags : 0x00 (Sample size is not fixed) +bDefaultFrameIndex : 0x08 (8) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +*!*ERROR: no Color Matching Descriptor for this format +Data (HexDump) : 0B 24 06 01 08 00 08 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x04F1A000 (82944000 bps -> 10.368 MB/s) +dwMaxVideoFrameBufferSize: 0x00054600 (345600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 &$.....h...x.... + 04 00 46 05 00 15 16 05 00 03 15 16 05 00 20 A1 ..F........... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 &$.........K.... + 06 00 08 07 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x058FD400 (93312000 bps -> 11.664 MB/s) +dwMaxBitRate : 0x0B1FA800 (186624000 bps -> 23.328 MB/s) +dwMaxVideoFrameBufferSize: 0x000BDD80 (777600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F &$.............. + 0B 80 DD 0B 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x06540000 (106168320 bps -> 13.271 MB/s) +dwMaxBitRate : 0x0CA80000 (212336640 bps -> 26.542 MB/s) +dwMaxVideoFrameBufferSize: 0x000D8000 (884736 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 04 00 00 04 40 02 00 00 54 06 00 00 A8 &$.....@...T.... + 0C 00 80 0D 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxBitRate : 0x13C68000 (331776000 bps -> 41.472 MB/s) +dwMaxVideoFrameBufferSize: 0x00151800 (1382400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 &$........@..... + 13 00 18 15 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x163F5000 (373248000 bps -> 46.656 MB/s) +dwMaxBitRate : 0x2C7EA000 (746496000 bps -> 93.312 MB/s) +dwMaxVideoFrameBufferSize: 0x002F7600 (3110400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 06 00 80 07 38 04 00 50 3F 16 00 A0 7E &$.....8..P?...~ + 2C 00 76 2F 00 15 16 05 00 03 15 16 05 00 20 A1 ,.v/.......... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x278D0000 (663552000 bps -> 82.944 MB/s) +dwMaxBitRate : 0x4F1A0000 (1327104000 bps -> 165.888 MB/s) +dwMaxVideoFrameBufferSize: 0x00546000 (5529600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 07 00 00 0A A0 05 00 00 8D 27 00 00 1A &$..........'... + 4F 00 60 54 00 15 16 05 00 03 15 16 05 00 20 A1 O.`T.......... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x00 +wWidth : 0x0F00 (3840) +wHeight : 0x0870 (2160) +dwMinBitRate : 0x58FD4000 (1492992000 bps -> 186.624 MB/s) +dwMaxBitRate : 0xB1FA8000 (2985984000 bps -> 373.248 MB/s) +dwMaxVideoFrameBufferSize: 0x00BDD800 (12441600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 08 00 00 0F 70 08 00 40 FD 58 00 80 FA &$.....p..@.X... + B1 00 D8 BD 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ---- VS Frame Based Payload Format Type Descriptor ---- +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x10 (Frame Based Format Type) +bFormatIndex : 0x02 (2) +bNumFrameDescriptors : 0x08 (8) +guidFormat : {34363248-0000-0010-8000-00AA00389B71} (H264) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x08 (8) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +bVariableSize : 0x01 (Variable Size) +*!*ERROR: Found 16 frame descriptors (should be 8) +*!*ERROR: no Color Matching Descriptor for this format +Data (HexDump) : 1C 24 10 02 08 48 32 36 34 00 00 10 00 80 00 00 .$...H264....... + AA 00 38 9B 71 10 08 00 00 00 00 01 ..8.q....... + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x04F1A000 (82944000 bps -> 10.368 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 &$.....h...x.... + 04 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 &$.........K.... + 06 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x058FD400 (93312000 bps -> 11.664 MB/s) +dwMaxBitRate : 0x0B1FA800 (186624000 bps -> 23.328 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F &$.............. + 0B 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x06540000 (106168320 bps -> 13.271 MB/s) +dwMaxBitRate : 0x0CA80000 (212336640 bps -> 26.542 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 04 00 00 04 40 02 00 00 54 06 00 00 A8 &$.....@...T.... + 0C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxBitRate : 0x13C68000 (331776000 bps -> 41.472 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 &$........@..... + 13 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x163F5000 (373248000 bps -> 46.656 MB/s) +dwMaxBitRate : 0x2C7EA000 (746496000 bps -> 93.312 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 06 00 80 07 38 04 00 50 3F 16 00 A0 7E &$.....8..P?...~ + 2C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ,.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x278D0000 (663552000 bps -> 82.944 MB/s) +dwMaxBitRate : 0x4F1A0000 (1327104000 bps -> 165.888 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 07 00 00 0A A0 05 00 00 8D 27 00 00 1A &$..........'... + 4F 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 O.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x00 +wWidth : 0x0F00 (3840) +wHeight : 0x0870 (2160) +dwMinBitRate : 0x58FD4000 (1492992000 bps -> 186.624 MB/s) +dwMaxBitRate : 0xB1FA8000 (2985984000 bps -> 373.248 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 08 00 00 0F 70 08 00 40 FD 58 00 80 FA &$.....p..@.X... + B1 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ---- VS Frame Based Payload Format Type Descriptor ---- +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x10 (Frame Based Format Type) +bFormatIndex : 0x03 (3) +bNumFrameDescriptors : 0x08 (8) +guidFormat : {35363248-0000-0010-8000-00AA00389B71} (H265) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x08 (8) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +bVariableSize : 0x01 (Variable Size) +*!*ERROR: no Color Matching Descriptor for this format +Data (HexDump) : 1C 24 10 03 08 48 32 36 35 00 00 10 00 80 00 00 .$...H265....... + AA 00 38 9B 71 10 08 00 00 00 00 01 ..8.q....... + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x04F1A000 (82944000 bps -> 10.368 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 &$.....h...x.... + 04 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 &$.........K.... + 06 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x058FD400 (93312000 bps -> 11.664 MB/s) +dwMaxBitRate : 0x0B1FA800 (186624000 bps -> 23.328 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F &$.............. + 0B 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x06540000 (106168320 bps -> 13.271 MB/s) +dwMaxBitRate : 0x0CA80000 (212336640 bps -> 26.542 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 04 00 00 04 40 02 00 00 54 06 00 00 A8 &$.....@...T.... + 0C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxBitRate : 0x13C68000 (331776000 bps -> 41.472 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 &$........@..... + 13 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x163F5000 (373248000 bps -> 46.656 MB/s) +dwMaxBitRate : 0x2C7EA000 (746496000 bps -> 93.312 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 06 00 80 07 38 04 00 50 3F 16 00 A0 7E &$.....8..P?...~ + 2C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ,.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x278D0000 (663552000 bps -> 82.944 MB/s) +dwMaxBitRate : 0x4F1A0000 (1327104000 bps -> 165.888 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 07 00 00 0A A0 05 00 00 8D 27 00 00 1A &$..........'... + 4F 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 O.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x00 +wWidth : 0x0F00 (3840) +wHeight : 0x0870 (2160) +dwMinBitRate : 0x58FD4000 (1492992000 bps -> 186.624 MB/s) +dwMaxBitRate : 0xB1FA8000 (2985984000 bps -> 373.248 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 08 00 00 0F 70 08 00 40 FD 58 00 80 FA &$.....p..@.X... + B1 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ------- VS Uncompressed Format Type Descriptor -------- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x04 (Uncompressed Format Type) +bFormatIndex : 0x04 (4) +bNumFrameDescriptors : 0x06 (6) +guidFormat : {32595559-0000-0010-8000-00AA00389B71} (YUY2) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x06 (6) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 1B 24 04 04 06 59 55 59 32 00 00 10 00 80 00 00 .$...YUY2....... + AA 00 38 9B 71 10 06 00 00 00 00 ..8.q...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 05 01 00 80 02 68 01 00 C0 4B 03 00 80 97 &$.....h...K.... + 06 00 08 07 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x04650000 (73728000 bps -> 9.216 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 05 02 00 80 02 E0 01 00 00 65 04 00 00 CA &$.........e.... + 08 00 60 09 00 15 16 05 00 03 15 16 05 00 20 A1 ..`........... . + 07 00 2A 2C 0A 00 ..*,.. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x076A7000 (124416000 bps -> 15.552 MB/s) +dwMaxVideoFrameBufferSize: 0x000FD200 (1036800 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 05 03 00 C0 03 1C 02 00 D0 78 02 00 70 6A &$.........x..pj + 07 00 D2 0F 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x02D00000 (47185920 bps -> 5.898 MB/s) +dwMaxBitRate : 0x08700000 (141557760 bps -> 17.694 MB/s) +dwMaxVideoFrameBufferSize: 0x00120000 (1179648 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 05 04 00 00 04 40 02 00 00 D0 02 00 00 70 &$.....@.......p + 08 00 00 12 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x01C20000 (29491200 bps -> 3.686 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x000F4240 (100.0000 ms -> 10.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[2] : 0x001E8480 (200.0000 ms -> 5.000 fps) +adwFrameInterval[3] : 0x004C4B40 (500.0000 ms -> 2.000 fps) +Data (HexDump) : 26 24 05 05 00 00 05 D0 02 00 00 C2 01 00 00 CA &$.............. + 08 00 20 1C 00 40 42 0F 00 03 40 42 0F 00 80 84 .. ..@B...@B.... + 1E 00 40 4B 4C 00 ..@KL. + + -------- VS Uncompressed Frame Type Descriptor -------- +---> This is the Default (optimum) Frame index +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x03F48000 (66355200 bps -> 8.294 MB/s) +dwMaxBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxVideoFrameBufferSize: 0x003F4800 (4147200 bytes) +dwDefaultFrameInterval : 0x001E8480 (200.0000 ms -> 5.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x001E8480 (200.0000 ms -> 5.000 fps) +adwFrameInterval[2] : 0x004C4B40 (500.0000 ms -> 2.000 fps) +Data (HexDump) : 22 24 05 06 00 80 07 38 04 00 80 F4 03 00 40 E3 "$.....8......@. + 09 00 48 3F 00 80 84 1E 00 02 80 84 1E 00 40 4B ..H?..........@K + 4C 00 L. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x0A (String Descriptor 10) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 01 01 0E 02 00 0A ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0200 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x200 (512 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 85 05 00 02 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x02 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x0B (String Descriptor 11) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 02 01 0E 02 00 0B ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0400 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x400 (1024 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 85 05 00 04 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x03 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x0C (String Descriptor 12) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 03 01 0E 02 00 0C ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0C00 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet) + Bits 10..0 : 0x400 (1024 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 85 05 00 0C 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x04 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x0D (String Descriptor 13) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 04 01 0E 02 00 0D ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x1400 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet) + Bits 10..0 : 0x400 (1024 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 85 05 00 14 01 ....... + + ----------------- Device Qualifier Descriptor ----------------- +bLength : 0x0A (10 bytes) +bDescriptorType : 0x06 (Device_qualifier Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 Bytes) +bNumConfigurations : 0x01 (1 other-speed configuration) +bReserved : 0x00 +Data (HexDump) : 0A 06 00 02 EF 02 01 40 01 00 .......@.. + + ------------ Other Speed Configuration Descriptor ------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x07 (Other_speed_configuration Descriptor) +wTotalLength : 0x0580 (1408 bytes) +bNumInterfaces : 0x02 (2 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x04 (String Descriptor 4) + *!*ERROR String descriptor not found +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 07 80 05 02 01 04 80 FA 08 0B 00 02 0E 03 00 ................ + 05 09 04 00 00 00 0E 01 00 08 0D 24 01 10 01 68 ...........$...h + 00 00 6C DC 02 01 01 12 24 02 01 01 02 00 00 00 ..l.....$....... + 00 00 00 00 00 03 0E 22 00 0C 24 05 02 01 00 40 ......."..$....@ + 02 7F 17 00 00 1A 24 06 03 18 20 2E 30 11 63 2E ......$... .0.c. + 4A BA 2C 68 90 EB 33 40 16 02 01 02 01 03 06 1A J.,h..3@........ + 24 06 04 A4 FB CB 33 26 FD E4 4C 90 76 A1 93 1F $.....3&..L.v... + E7 4C 5E 02 01 02 01 03 07 09 24 03 04 01 01 00 .L^.......$..... + 03 00 09 04 01 00 00 0E 02 00 09 11 24 01 04 E5 ............$... + 04 85 00 04 00 00 00 01 00 00 00 00 0B 24 06 01 .............$.. + 08 00 08 00 00 00 00 26 24 07 01 00 80 02 68 01 .......&$.....h. + 00 D0 78 02 00 A0 F1 04 00 46 05 00 15 16 05 00 ..x......F...... + 03 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 07 ..... ...*,..&$. + 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 06 00 08 ........K....... + 07 00 15 16 05 00 03 15 16 05 00 20 A1 07 00 2A ........... ...* + 2C 0A 00 26 24 07 03 00 C0 03 1C 02 00 D4 8F 05 ,..&$........... + 00 A8 1F 0B 80 DD 0B 00 15 16 05 00 03 15 16 05 ................ + 00 20 A1 07 00 2A 2C 0A 00 26 24 07 04 00 00 04 . ...*,..&$..... + 40 02 00 00 54 06 00 00 A8 0C 00 80 0D 00 15 16 @...T........... + 05 00 03 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 ....... ...*,..& + 24 07 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 13 $........@...... + 00 18 15 00 15 16 05 00 03 15 16 05 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 26 24 07 06 00 80 07 38 04 00 50 .*,..&$.....8..P + 3F 16 00 A0 7E 2C 00 76 2F 00 15 16 05 00 03 15 ?...~,.v/....... + 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 07 07 00 ... ...*,..&$... + 00 0A A0 05 00 00 8D 27 00 00 1A 4F 00 60 54 00 .......'...O.`T. + 15 16 05 00 03 15 16 05 00 20 A1 07 00 2A 2C 0A ......... ...*,. + 00 26 24 07 08 00 00 0F 70 08 00 40 FD 58 00 80 .&$.....p..@.X.. + FA B1 00 D8 BD 00 15 16 05 00 03 15 16 05 00 20 ............... + A1 07 00 2A 2C 0A 00 1C 24 10 02 08 48 32 36 34 ...*,...$...H264 + 00 00 10 00 80 00 00 AA 00 38 9B 71 10 08 00 00 .........8.q.... + 00 00 01 26 24 11 01 00 80 02 68 01 00 D0 78 02 ...&$.....h...x. + 00 A0 F1 04 15 16 05 00 03 2C 0A 00 00 15 16 05 .........,...... + 00 20 A1 07 00 2A 2C 0A 00 26 24 11 02 00 80 02 . ...*,..&$..... + E0 01 00 C0 4B 03 00 80 97 06 15 16 05 00 03 2C ....K.........., + 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 ....... ...*,..& + 24 11 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F 0B $............... + 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 .....,....... .. + 00 2A 2C 0A 00 26 24 11 04 00 00 04 40 02 00 00 .*,..&$.....@... + 54 06 00 00 A8 0C 15 16 05 00 03 2C 0A 00 00 15 T..........,.... + 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 05 00 ... ...*,..&$... + 00 05 D0 02 00 40 E3 09 00 80 C6 13 15 16 05 00 .....@.......... + 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A .,....... ...*,. + 00 26 24 11 06 00 80 07 38 04 00 50 3F 16 00 A0 .&$.....8..P?... + 7E 2C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 ~,.....,....... + A1 07 00 2A 2C 0A 00 26 24 11 07 00 00 0A A0 05 ...*,..&$....... + 00 00 8D 27 00 00 1A 4F 15 16 05 00 03 2C 0A 00 ...'...O.....,.. + 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 ..... ...*,..&$. + 08 00 00 0F 70 08 00 40 FD 58 00 80 FA B1 15 16 ....p..@.X...... + 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A ...,....... ...* + 2C 0A 00 1C 24 10 03 08 48 32 36 35 00 00 10 00 ,...$...H265.... + 80 00 00 AA 00 38 9B 71 10 08 00 00 00 00 01 26 .....8.q.......& + 24 11 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 04 $.....h...x..... + 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 .....,....... .. + 00 2A 2C 0A 00 26 24 11 02 00 80 02 E0 01 00 C0 .*,..&$......... + 4B 03 00 80 97 06 15 16 05 00 03 2C 0A 00 00 15 K..........,.... + 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 03 00 ... ...*,..&$... + C0 03 1C 02 00 D4 8F 05 00 A8 1F 0B 15 16 05 00 ................ + 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A .,....... ...*,. + 00 26 24 11 04 00 00 04 40 02 00 00 54 06 00 00 .&$.....@...T... + A8 0C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 .......,....... + A1 07 00 2A 2C 0A 00 26 24 11 05 00 00 05 D0 02 ...*,..&$....... + 00 40 E3 09 00 80 C6 13 15 16 05 00 03 2C 0A 00 .@...........,.. + 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 26 24 11 ..... ...*,..&$. + 06 00 80 07 38 04 00 50 3F 16 00 A0 7E 2C 15 16 ....8..P?...~,.. + 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 07 00 2A ...,....... ...* + 2C 0A 00 26 24 11 07 00 00 0A A0 05 00 00 8D 27 ,..&$..........' + 00 00 1A 4F 15 16 05 00 03 2C 0A 00 00 15 16 05 ...O.....,...... + 00 20 A1 07 00 2A 2C 0A 00 26 24 11 08 00 00 0F . ...*,..&$..... + 70 08 00 40 FD 58 00 80 FA B1 15 16 05 00 03 2C p..@.X........., + 0A 00 00 15 16 05 00 20 A1 07 00 2A 2C 0A 00 1B ....... ...*,... + 24 04 04 06 59 55 59 32 00 00 10 00 80 00 00 AA $...YUY2........ + 00 38 9B 71 10 06 00 00 00 00 26 24 05 01 00 80 .8.q......&$.... + 02 68 01 00 C0 4B 03 00 80 97 06 00 08 07 00 15 .h...K.......... + 16 05 00 03 15 16 05 00 20 A1 07 00 2A 2C 0A 00 ........ ...*,.. + 26 24 05 02 00 80 02 E0 01 00 00 65 04 00 00 CA &$.........e.... + 08 00 60 09 00 15 16 05 00 03 15 16 05 00 20 A1 ..`........... . + 07 00 2A 2C 0A 00 26 24 05 03 00 C0 03 1C 02 00 ..*,..&$........ + D0 78 02 00 70 6A 07 00 D2 0F 00 2A 2C 0A 00 03 .x..pj.....*,... + 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 26 24 05 04 *,..@B......&$.. + 00 00 04 40 02 00 00 D0 02 00 00 70 08 00 00 12 ...@.......p.... + 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 0F 00 80 84 .*,...*,..@B.... + 1E 00 26 24 05 05 00 00 05 D0 02 00 00 C2 01 00 ..&$............ + 00 CA 08 00 20 1C 00 40 42 0F 00 03 40 42 0F 00 .... ..@B...@B.. + 80 84 1E 00 40 4B 4C 00 22 24 05 06 00 80 07 38 ....@KL."$.....8 + 04 00 80 F4 03 00 40 E3 09 00 48 3F 00 80 84 1E ......@...H?.... + 00 02 80 84 1E 00 40 4B 4C 00 06 24 0D 01 01 04 ......@KL..$.... + 09 04 01 01 01 0E 02 00 0A 07 05 85 05 01 00 01 ................ + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x05 (String Descriptor 5) + *!*ERROR String descriptor not found +Data (HexDump) : 08 0B 00 02 0E 03 00 05 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x08 (String Descriptor 8) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 00 00 00 0E 01 00 08 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0110 (UVC Version 1.10) +wTotalLength : 0x0068 (104 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 10 01 68 00 00 6C DC 02 01 01 .$...h..l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x0E, 0x22, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 1 yes - Auto-Exposure Priority + D3 : 1 yes - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 1 yes - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 1 yes - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 0E .$.............. + 22 00 ". + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x7F, 0x17 + D0 : 1 yes - Brightness + D1 : 1 yes - Contrast + D2 : 1 yes - Hue + D3 : 1 yes - Saturation + D4 : 1 yes - Sharpness + D5 : 1 yes - Gamma + D6 : 1 yes - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 1 yes - Backlight Compensation + D9 : 1 yes - Gain + D10 : 1 yes - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 1 yes - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +bmVideoStandards : 0x00 + D0 : 0 no - None + D1 : 0 no - NTSC - 525/60 + D2 : 0 no - PAL - 625/50 + D3 : 0 no - SECAM - 625/50 + D4 : 0 no - NTSC - 625/50 + D5 : 0 no - PAL - 525/60 + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0C 24 05 02 01 00 40 02 7F 17 00 00 .$....@..... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x03 +guidExtensionCode : {302E2018-6311-4A2E-BA2C-6890EB334016} +bNumControls : 0x02 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x06 + *!*ERROR String descriptor not found +Data (HexDump) : 1A 24 06 03 18 20 2E 30 11 63 2E 4A BA 2C 68 90 .$... .0.c.J.,h. + EB 33 40 16 02 01 02 01 03 06 .3@....... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x04 +guidExtensionCode : {33CBFBA4-FD26-4CE4-9076-A1931FE74C5E} +bNumControls : 0x02 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x01 +bmControls : 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x07 + *!*ERROR String descriptor not found +Data (HexDump) : 1A 24 06 04 A4 FB CB 33 26 FD E4 4C 90 76 A1 93 .$.....3&..L.v.. + 1F E7 4C 5E 02 01 02 01 03 07 ..L^...... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x04 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x03 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 04 01 01 00 03 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x09 (String Descriptor 9) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 00 00 0E 02 00 09 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x11 (17 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x04 +wTotalLength : 0x04E5 (1253 bytes) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x04 +bStillCaptureMethod : 0x00 (No Still Capture) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 2 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 3 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 4 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 11 24 01 04 E5 04 85 00 04 00 00 00 01 00 00 00 .$.............. + 00 . + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x08 (8) +bmFlags : 0x00 (Sample size is not fixed) +bDefaultFrameIndex : 0x08 (8) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +*!*ERROR: no Color Matching Descriptor for this format +Data (HexDump) : 0B 24 06 01 08 00 08 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x04F1A000 (82944000 bps -> 10.368 MB/s) +dwMaxVideoFrameBufferSize: 0x00054600 (345600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 &$.....h...x.... + 04 00 46 05 00 15 16 05 00 03 15 16 05 00 20 A1 ..F........... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 &$.........K.... + 06 00 08 07 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x058FD400 (93312000 bps -> 11.664 MB/s) +dwMaxBitRate : 0x0B1FA800 (186624000 bps -> 23.328 MB/s) +dwMaxVideoFrameBufferSize: 0x000BDD80 (777600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F &$.............. + 0B 80 DD 0B 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x06540000 (106168320 bps -> 13.271 MB/s) +dwMaxBitRate : 0x0CA80000 (212336640 bps -> 26.542 MB/s) +dwMaxVideoFrameBufferSize: 0x000D8000 (884736 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 04 00 00 04 40 02 00 00 54 06 00 00 A8 &$.....@...T.... + 0C 00 80 0D 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxBitRate : 0x13C68000 (331776000 bps -> 41.472 MB/s) +dwMaxVideoFrameBufferSize: 0x00151800 (1382400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 &$........@..... + 13 00 18 15 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x163F5000 (373248000 bps -> 46.656 MB/s) +dwMaxBitRate : 0x2C7EA000 (746496000 bps -> 93.312 MB/s) +dwMaxVideoFrameBufferSize: 0x002F7600 (3110400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 06 00 80 07 38 04 00 50 3F 16 00 A0 7E &$.....8..P?...~ + 2C 00 76 2F 00 15 16 05 00 03 15 16 05 00 20 A1 ,.v/.......... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x278D0000 (663552000 bps -> 82.944 MB/s) +dwMaxBitRate : 0x4F1A0000 (1327104000 bps -> 165.888 MB/s) +dwMaxVideoFrameBufferSize: 0x00546000 (5529600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 07 00 00 0A A0 05 00 00 8D 27 00 00 1A &$..........'... + 4F 00 60 54 00 15 16 05 00 03 15 16 05 00 20 A1 O.`T.......... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x00 +wWidth : 0x0F00 (3840) +wHeight : 0x0870 (2160) +dwMinBitRate : 0x58FD4000 (1492992000 bps -> 186.624 MB/s) +dwMaxBitRate : 0xB1FA8000 (2985984000 bps -> 373.248 MB/s) +dwMaxVideoFrameBufferSize: 0x00BDD800 (12441600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 07 08 00 00 0F 70 08 00 40 FD 58 00 80 FA &$.....p..@.X... + B1 00 D8 BD 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + ---- VS Frame Based Payload Format Type Descriptor ---- +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x10 (Frame Based Format Type) +bFormatIndex : 0x02 (2) +bNumFrameDescriptors : 0x08 (8) +guidFormat : {34363248-0000-0010-8000-00AA00389B71} (H264) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x08 (8) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +bVariableSize : 0x01 (Variable Size) +*!*ERROR: Found 16 frame descriptors (should be 8) +*!*ERROR: no Color Matching Descriptor for this format +Data (HexDump) : 1C 24 10 02 08 48 32 36 34 00 00 10 00 80 00 00 .$...H264....... + AA 00 38 9B 71 10 08 00 00 00 00 01 ..8.q....... + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x04F1A000 (82944000 bps -> 10.368 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 &$.....h...x.... + 04 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 &$.........K.... + 06 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x058FD400 (93312000 bps -> 11.664 MB/s) +dwMaxBitRate : 0x0B1FA800 (186624000 bps -> 23.328 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F &$.............. + 0B 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x06540000 (106168320 bps -> 13.271 MB/s) +dwMaxBitRate : 0x0CA80000 (212336640 bps -> 26.542 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 04 00 00 04 40 02 00 00 54 06 00 00 A8 &$.....@...T.... + 0C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxBitRate : 0x13C68000 (331776000 bps -> 41.472 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 &$........@..... + 13 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x163F5000 (373248000 bps -> 46.656 MB/s) +dwMaxBitRate : 0x2C7EA000 (746496000 bps -> 93.312 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 06 00 80 07 38 04 00 50 3F 16 00 A0 7E &$.....8..P?...~ + 2C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ,.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x278D0000 (663552000 bps -> 82.944 MB/s) +dwMaxBitRate : 0x4F1A0000 (1327104000 bps -> 165.888 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 07 00 00 0A A0 05 00 00 8D 27 00 00 1A &$..........'... + 4F 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 O.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x00 +wWidth : 0x0F00 (3840) +wHeight : 0x0870 (2160) +dwMinBitRate : 0x58FD4000 (1492992000 bps -> 186.624 MB/s) +dwMaxBitRate : 0xB1FA8000 (2985984000 bps -> 373.248 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 08 00 00 0F 70 08 00 40 FD 58 00 80 FA &$.....p..@.X... + B1 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ---- VS Frame Based Payload Format Type Descriptor ---- +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x10 (Frame Based Format Type) +bFormatIndex : 0x03 (3) +bNumFrameDescriptors : 0x08 (8) +guidFormat : {35363248-0000-0010-8000-00AA00389B71} (H265) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x08 (8) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +bVariableSize : 0x01 (Variable Size) +*!*ERROR: no Color Matching Descriptor for this format +Data (HexDump) : 1C 24 10 03 08 48 32 36 35 00 00 10 00 80 00 00 .$...H265....... + AA 00 38 9B 71 10 08 00 00 00 00 01 ..8.q....... + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x04F1A000 (82944000 bps -> 10.368 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 01 00 80 02 68 01 00 D0 78 02 00 A0 F1 &$.....h...x.... + 04 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 02 00 80 02 E0 01 00 C0 4B 03 00 80 97 &$.........K.... + 06 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x058FD400 (93312000 bps -> 11.664 MB/s) +dwMaxBitRate : 0x0B1FA800 (186624000 bps -> 23.328 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 03 00 C0 03 1C 02 00 D4 8F 05 00 A8 1F &$.............. + 0B 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x06540000 (106168320 bps -> 13.271 MB/s) +dwMaxBitRate : 0x0CA80000 (212336640 bps -> 26.542 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 04 00 00 04 40 02 00 00 54 06 00 00 A8 &$.....@...T.... + 0C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxBitRate : 0x13C68000 (331776000 bps -> 41.472 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 05 00 00 05 D0 02 00 40 E3 09 00 80 C6 &$........@..... + 13 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x163F5000 (373248000 bps -> 46.656 MB/s) +dwMaxBitRate : 0x2C7EA000 (746496000 bps -> 93.312 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 06 00 80 07 38 04 00 50 3F 16 00 A0 7E &$.....8..P?...~ + 2C 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ,.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x00 +wWidth : 0x0A00 (2560) +wHeight : 0x05A0 (1440) +dwMinBitRate : 0x278D0000 (663552000 bps -> 82.944 MB/s) +dwMaxBitRate : 0x4F1A0000 (1327104000 bps -> 165.888 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 07 00 00 0A A0 05 00 00 8D 27 00 00 1A &$..........'... + 4F 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 O.....,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ----- VS Frame Based Payload Frame Type Descriptor ---- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x11 (Frame Based Payload Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x00 +wWidth : 0x0F00 (3840) +wHeight : 0x0870 (2160) +dwMinBitRate : 0x58FD4000 (1492992000 bps -> 186.624 MB/s) +dwMaxBitRate : 0xB1FA8000 (2985984000 bps -> 373.248 MB/s) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +dwBytesPerLine : 0xA2C (2604 bytes) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 11 08 00 00 0F 70 08 00 40 FD 58 00 80 FA &$.....p..@.X... + B1 15 16 05 00 03 2C 0A 00 00 15 16 05 00 20 A1 ......,....... . + 07 00 2A 2C 0A 00 ..*,.. + + ------- VS Uncompressed Format Type Descriptor -------- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x04 (Uncompressed Format Type) +bFormatIndex : 0x04 (4) +bNumFrameDescriptors : 0x06 (6) +guidFormat : {32595559-0000-0010-8000-00AA00389B71} (YUY2) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x06 (6) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 1B 24 04 04 06 59 55 59 32 00 00 10 00 80 00 00 .$...YUY2....... + AA 00 38 9B 71 10 06 00 00 00 00 ..8.q...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 05 01 00 80 02 68 01 00 C0 4B 03 00 80 97 &$.....h...K.... + 06 00 08 07 00 15 16 05 00 03 15 16 05 00 20 A1 .............. . + 07 00 2A 2C 0A 00 ..*,.. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x04650000 (73728000 bps -> 9.216 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +Data (HexDump) : 26 24 05 02 00 80 02 E0 01 00 00 65 04 00 00 CA &$.........e.... + 08 00 60 09 00 15 16 05 00 03 15 16 05 00 20 A1 ..`........... . + 07 00 2A 2C 0A 00 ..*,.. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x03C0 (960) +wHeight : 0x021C (540) +dwMinBitRate : 0x0278D000 (41472000 bps -> 5.184 MB/s) +dwMaxBitRate : 0x076A7000 (124416000 bps -> 15.552 MB/s) +dwMaxVideoFrameBufferSize: 0x000FD200 (1036800 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 05 03 00 C0 03 1C 02 00 D0 78 02 00 70 6A &$.........x..pj + 07 00 D2 0F 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x02D00000 (47185920 bps -> 5.898 MB/s) +dwMaxBitRate : 0x08700000 (141557760 bps -> 17.694 MB/s) +dwMaxVideoFrameBufferSize: 0x00120000 (1179648 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 05 04 00 00 04 40 02 00 00 D0 02 00 00 70 &$.....@.......p + 08 00 00 12 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x01C20000 (29491200 bps -> 3.686 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x000F4240 (100.0000 ms -> 10.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[2] : 0x001E8480 (200.0000 ms -> 5.000 fps) +adwFrameInterval[3] : 0x004C4B40 (500.0000 ms -> 2.000 fps) +Data (HexDump) : 26 24 05 05 00 00 05 D0 02 00 00 C2 01 00 00 CA &$.............. + 08 00 20 1C 00 40 42 0F 00 03 40 42 0F 00 80 84 .. ..@B...@B.... + 1E 00 40 4B 4C 00 ..@KL. + + -------- VS Uncompressed Frame Type Descriptor -------- +---> This is the Default (optimum) Frame index +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x0780 (1920) +wHeight : 0x0438 (1080) +dwMinBitRate : 0x03F48000 (66355200 bps -> 8.294 MB/s) +dwMaxBitRate : 0x09E34000 (165888000 bps -> 20.736 MB/s) +dwMaxVideoFrameBufferSize: 0x003F4800 (4147200 bytes) +dwDefaultFrameInterval : 0x001E8480 (200.0000 ms -> 5.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x001E8480 (200.0000 ms -> 5.000 fps) +adwFrameInterval[2] : 0x004C4B40 (500.0000 ms -> 2.000 fps) +Data (HexDump) : 22 24 05 06 00 80 07 38 04 00 80 F4 03 00 40 E3 "$.....8......@. + 09 00 48 3F 00 80 84 1E 00 02 80 84 1E 00 40 4B ..H?..........@K + 4C 00 L. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x0A (String Descriptor 10) + *!*ERROR String descriptor not found +Data (HexDump) : 09 04 01 01 01 0E 02 00 0A ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x85 (Direction=IN EndpointID=5) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0001 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x01 (1 byte per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 85 05 01 00 01 ....... + + -------------------- String Descriptors ------------------- +none +*/ + +namespace elp_h265 { +const uint8_t dev_desc[] = { + 0x12, 0x01, 0x00, 0x02, 0xEF, 0x02, 0x01, 0x40, 0xE4, 0x32, 0x15, 0x94, 0x19, 0x04, 0x01, 0x02, + 0x03, 0x01 +}; +const uint8_t cfg_desc[] = { + 0x09, 0x02, 0xB0, 0x05, 0x02, 0x01, 0x04, 0x80, 0xFA, 0x08, 0x0B, 0x00, 0x02, 0x0E, 0x03, 0x00, + 0x05, 0x09, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x08, 0x0D, 0x24, 0x01, 0x10, 0x01, 0x68, + 0x00, 0x00, 0x6C, 0xDC, 0x02, 0x01, 0x01, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0E, 0x22, 0x00, 0x0C, 0x24, 0x05, 0x02, 0x01, 0x00, 0x40, + 0x02, 0x7F, 0x17, 0x00, 0x00, 0x1A, 0x24, 0x06, 0x03, 0x18, 0x20, 0x2E, 0x30, 0x11, 0x63, 0x2E, + 0x4A, 0xBA, 0x2C, 0x68, 0x90, 0xEB, 0x33, 0x40, 0x16, 0x02, 0x01, 0x02, 0x01, 0x03, 0x06, 0x1A, + 0x24, 0x06, 0x04, 0xA4, 0xFB, 0xCB, 0x33, 0x26, 0xFD, 0xE4, 0x4C, 0x90, 0x76, 0xA1, 0x93, 0x1F, + 0xE7, 0x4C, 0x5E, 0x02, 0x01, 0x02, 0x01, 0x03, 0x07, 0x09, 0x24, 0x03, 0x04, 0x01, 0x01, 0x00, + 0x03, 0x00, 0x09, 0x04, 0x01, 0x00, 0x00, 0x0E, 0x02, 0x00, 0x09, 0x11, 0x24, 0x01, 0x04, 0xE5, + 0x04, 0x85, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x24, 0x06, 0x01, + 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x26, 0x24, 0x07, 0x01, 0x00, 0x80, 0x02, 0x68, 0x01, + 0x00, 0xD0, 0x78, 0x02, 0x00, 0xA0, 0xF1, 0x04, 0x00, 0x46, 0x05, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, + 0x02, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0xC0, 0x4B, 0x03, 0x00, 0x80, 0x97, 0x06, 0x00, 0x08, + 0x07, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x03, 0x00, 0xC0, 0x03, 0x1C, 0x02, 0x00, 0xD4, 0x8F, 0x05, + 0x00, 0xA8, 0x1F, 0x0B, 0x80, 0xDD, 0x0B, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, + 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x04, 0x00, 0x00, 0x04, + 0x40, 0x02, 0x00, 0x00, 0x54, 0x06, 0x00, 0x00, 0xA8, 0x0C, 0x00, 0x80, 0x0D, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, + 0x24, 0x07, 0x05, 0x00, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x40, 0xE3, 0x09, 0x00, 0x80, 0xC6, 0x13, + 0x00, 0x18, 0x15, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x06, 0x00, 0x80, 0x07, 0x38, 0x04, 0x00, 0x50, + 0x3F, 0x16, 0x00, 0xA0, 0x7E, 0x2C, 0x00, 0x76, 0x2F, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, + 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x07, 0x07, 0x00, + 0x00, 0x0A, 0xA0, 0x05, 0x00, 0x00, 0x8D, 0x27, 0x00, 0x00, 0x1A, 0x4F, 0x00, 0x60, 0x54, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x26, 0x24, 0x07, 0x08, 0x00, 0x00, 0x0F, 0x70, 0x08, 0x00, 0x40, 0xFD, 0x58, 0x00, 0x80, + 0xFA, 0xB1, 0x00, 0xD8, 0xBD, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, + 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x1C, 0x24, 0x10, 0x02, 0x08, 0x48, 0x32, 0x36, 0x34, + 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71, 0x10, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x26, 0x24, 0x11, 0x01, 0x00, 0x80, 0x02, 0x68, 0x01, 0x00, 0xD0, 0x78, 0x02, + 0x00, 0xA0, 0xF1, 0x04, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, + 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x02, 0x00, 0x80, 0x02, + 0xE0, 0x01, 0x00, 0xC0, 0x4B, 0x03, 0x00, 0x80, 0x97, 0x06, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, + 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, + 0x24, 0x11, 0x03, 0x00, 0xC0, 0x03, 0x1C, 0x02, 0x00, 0xD4, 0x8F, 0x05, 0x00, 0xA8, 0x1F, 0x0B, + 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x04, 0x00, 0x00, 0x04, 0x40, 0x02, 0x00, 0x00, + 0x54, 0x06, 0x00, 0x00, 0xA8, 0x0C, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, + 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x05, 0x00, + 0x00, 0x05, 0xD0, 0x02, 0x00, 0x40, 0xE3, 0x09, 0x00, 0x80, 0xC6, 0x13, 0x15, 0x16, 0x05, 0x00, + 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x26, 0x24, 0x11, 0x06, 0x00, 0x80, 0x07, 0x38, 0x04, 0x00, 0x50, 0x3F, 0x16, 0x00, 0xA0, + 0x7E, 0x2C, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, + 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x07, 0x00, 0x00, 0x0A, 0xA0, 0x05, + 0x00, 0x00, 0x8D, 0x27, 0x00, 0x00, 0x1A, 0x4F, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, + 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, + 0x08, 0x00, 0x00, 0x0F, 0x70, 0x08, 0x00, 0x40, 0xFD, 0x58, 0x00, 0x80, 0xFA, 0xB1, 0x15, 0x16, + 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x1C, 0x24, 0x10, 0x03, 0x08, 0x48, 0x32, 0x36, 0x35, 0x00, 0x00, 0x10, 0x00, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x26, + 0x24, 0x11, 0x01, 0x00, 0x80, 0x02, 0x68, 0x01, 0x00, 0xD0, 0x78, 0x02, 0x00, 0xA0, 0xF1, 0x04, + 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x02, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0xC0, + 0x4B, 0x03, 0x00, 0x80, 0x97, 0x06, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, + 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x03, 0x00, + 0xC0, 0x03, 0x1C, 0x02, 0x00, 0xD4, 0x8F, 0x05, 0x00, 0xA8, 0x1F, 0x0B, 0x15, 0x16, 0x05, 0x00, + 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x26, 0x24, 0x11, 0x04, 0x00, 0x00, 0x04, 0x40, 0x02, 0x00, 0x00, 0x54, 0x06, 0x00, 0x00, + 0xA8, 0x0C, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, + 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x05, 0x00, 0x00, 0x05, 0xD0, 0x02, + 0x00, 0x40, 0xE3, 0x09, 0x00, 0x80, 0xC6, 0x13, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, + 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, + 0x06, 0x00, 0x80, 0x07, 0x38, 0x04, 0x00, 0x50, 0x3F, 0x16, 0x00, 0xA0, 0x7E, 0x2C, 0x15, 0x16, + 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x07, 0x00, 0x00, 0x0A, 0xA0, 0x05, 0x00, 0x00, 0x8D, 0x27, + 0x00, 0x00, 0x1A, 0x4F, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, + 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x11, 0x08, 0x00, 0x00, 0x0F, + 0x70, 0x08, 0x00, 0x40, 0xFD, 0x58, 0x00, 0x80, 0xFA, 0xB1, 0x15, 0x16, 0x05, 0x00, 0x03, 0x2C, + 0x0A, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x1B, + 0x24, 0x04, 0x04, 0x06, 0x59, 0x55, 0x59, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, + 0x00, 0x38, 0x9B, 0x71, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0x26, 0x24, 0x05, 0x01, 0x00, 0x80, + 0x02, 0x68, 0x01, 0x00, 0xC0, 0x4B, 0x03, 0x00, 0x80, 0x97, 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, + 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, + 0x26, 0x24, 0x05, 0x02, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0xCA, + 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 0x00, 0x03, 0x15, 0x16, 0x05, 0x00, 0x20, 0xA1, + 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x26, 0x24, 0x05, 0x03, 0x00, 0xC0, 0x03, 0x1C, 0x02, 0x00, + 0xD0, 0x78, 0x02, 0x00, 0x70, 0x6A, 0x07, 0x00, 0xD2, 0x0F, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x03, + 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x26, 0x24, 0x05, 0x04, + 0x00, 0x00, 0x04, 0x40, 0x02, 0x00, 0x00, 0xD0, 0x02, 0x00, 0x00, 0x70, 0x08, 0x00, 0x00, 0x12, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x03, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, + 0x1E, 0x00, 0x26, 0x24, 0x05, 0x05, 0x00, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x00, 0xC2, 0x01, 0x00, + 0x00, 0xCA, 0x08, 0x00, 0x20, 0x1C, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x03, 0x40, 0x42, 0x0F, 0x00, + 0x80, 0x84, 0x1E, 0x00, 0x40, 0x4B, 0x4C, 0x00, 0x22, 0x24, 0x05, 0x06, 0x00, 0x80, 0x07, 0x38, + 0x04, 0x00, 0x80, 0xF4, 0x03, 0x00, 0x40, 0xE3, 0x09, 0x00, 0x48, 0x3F, 0x00, 0x80, 0x84, 0x1E, + 0x00, 0x02, 0x80, 0x84, 0x1E, 0x00, 0x40, 0x4B, 0x4C, 0x00, 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, + 0x09, 0x04, 0x01, 0x01, 0x01, 0x0E, 0x02, 0x00, 0x0A, 0x07, 0x05, 0x85, 0x05, 0x00, 0x02, 0x01, + 0x09, 0x04, 0x01, 0x02, 0x01, 0x0E, 0x02, 0x00, 0x0B, 0x07, 0x05, 0x85, 0x05, 0x00, 0x04, 0x01, + 0x09, 0x04, 0x01, 0x03, 0x01, 0x0E, 0x02, 0x00, 0x0C, 0x07, 0x05, 0x85, 0x05, 0x00, 0x0C, 0x01, + 0x09, 0x04, 0x01, 0x04, 0x01, 0x0E, 0x02, 0x00, 0x0D, 0x07, 0x05, 0x85, 0x05, 0x00, 0x14, 0x01 +}; +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/logitech_c270.hpp b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/logitech_c270.hpp new file mode 100644 index 00000000..59bef8ea --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/logitech_c270.hpp @@ -0,0 +1,3598 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include + +/* + ======================== USB Device ======================== + + +++++++++++++++++ Device Information ++++++++++++++++++ +Device Description : Logi USB Camera (C270 HD WebCam) +Device ID : USB\VID_046D&PID_0825\E190CC90 +Hardware IDs : USB\VID_046D&PID_0825&REV_0012 USB\VID_046D&PID_0825 +Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0084 (GUID_DEVCLASS_USB) +Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.19041.4474 Date: 2024-06-13) +Driver Inf : C:\Windows\inf\oem102.inf +Legacy BusType : PNPBus +Class : USB +Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB) +Service : usbccgp +Enumerator : USB +Location Info : Port_#0007.Hub_#0013 +Location IDs : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(7), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(7) +Container ID : {3e8be164-67c8-544f-83b8-ffdd10fc0add} +Manufacturer Info : Logitech +Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) +Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) +Problem Code : 0 +Address : 7 +HcDisableSelectiveSuspend: 0 +EnableSelectiveSuspend : 0 +SelectiveSuspendEnabled : 0 +EnhancedPowerMgmtEnabled : 0 +IdleInWorkingState : 0 +WakeFromSleepState : 0 +Power State : D0 (supported: D0, D3, wake from D0) + Child Device 1 : Logi C270 HD WebCam + Device Path : \\?\USB#VID_046D&PID_0825&MI_00#7&40544e5&1&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (STATIC_KSCATEGORY_VIDEO_CAMERA) + Kernel Name : \Device\00000358 + Device ID : USB\VID_046D&PID_0825&MI_00\7&40544E5&1&0000 + Class : Camera + Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0002 (GUID_DEVCLASS_CAMERA) + Service : usbvideo + Location : 0005.0000.0004.001.003.001.003.007.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(7)#USBMI(0) PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(7)#USB(7) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(7)#USBMI(0) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(7)#USB(7) + Child Device 2 : Logi C270 HD WebCam + Device Path : \\?\USB#VID_046D&PID_0825&MI_02#7&40544e5&1&0002#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE) + Kernel Name : \Device\00000359 + Device ID : USB\VID_046D&PID_0825&MI_02\7&40544E5&1&0002 + Class : MEDIA + Driver KeyName : {4d36e96c-e325-11ce-bfc1-08002be10318}\0007 (GUID_DEVCLASS_MEDIA) + Service : usbaudio + Location : 0005.0000.0004.001.003.001.003.007.000 + LocationPaths : PCIROOT(0)#PCI(0803)#PCI(0004)#USBROOT(0)#USB(1)#USB(3)#USB(1)#USB(3)#USB(7)#USBMI(2) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(XHC4)#ACPI(RHUB)#ACPI(PRT1)#USB(3)#USB(1)#USB(3)#USB(7)#USBMI(2) + Child Device 1 : Microphone (Logi C270 HD WebCam) (Audio Endpoint) + Device ID : SWD\MMDEVAPI\{0.0.1.00000000}.{1F697205-E0F8-4820-97E4-7E3AB271EEDD} + Class : AudioEndpoint + Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0027 (AUDIOENDPOINT_CLASS_UUID) + + +++++++++++++++++ Registry USB Flags +++++++++++++++++ +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\046D08250012 + osvc : REG_BINARY 00 00 + NewInterfaceUsage : REG_DWORD 00000000 (0) + + ---------------- Connection Information --------------- +Connection Index : 0x07 (Port 7) +Connection Status : 0x01 (DeviceConnected) +Current Config Value : 0x01 (Configuration 1) +Device Address : 0x0F (15) +Is Hub : 0x00 (no) +Device Bus Speed : 0x02 (High-Speed) +Number Of Open Pipes : 0x01 (1 pipe to data endpoints) +Pipe[0] : EndpointID=7 Direction=IN ScheduleOffset=0 Type=Interrupt +Data (HexDump) : 07 00 00 00 12 01 00 02 EF 02 01 40 6D 04 25 08 ...........@m.%. + 12 00 00 00 02 01 01 02 00 0F 00 01 00 00 00 01 ................ + 00 00 00 07 05 87 03 10 00 08 00 00 00 00 .............. + + --------------- Connection Information V2 ------------- +Connection Index : 0x07 (7) +Length : 0x10 (16 bytes) +SupportedUsbProtocols : 0x03 + Usb110 : 1 (yes, port supports USB 1.1) + Usb200 : 1 (yes, port supports USB 2.0) + Usb300 : 0 (no, port not supports USB 3.0) + ReservedMBZ : 0x00 +Flags : 0x00 + DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher) + DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher) + DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher) + DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher) + ReservedMBZ : 0x00 +Data (HexDump) : 07 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ + + ---------------------- Device Descriptor ---------------------- +bLength : 0x12 (18 bytes) +bDescriptorType : 0x01 (Device Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 bytes) +idVendor : 0x046D (Logitech Inc.) +idProduct : 0x0825 +bcdDevice : 0x0012 +iManufacturer : 0x00 (No String Descriptor) +iProduct : 0x00 (No String Descriptor) +iSerialNumber : 0x02 (String Descriptor 2) + Language 0x0409 : "E190CC90" +bNumConfigurations : 0x01 (1 Configuration) +Data (HexDump) : 12 01 00 02 EF 02 01 40 6D 04 25 08 12 00 00 00 .......@m.%..... + 02 01 .. + + ------------------ Configuration Descriptor ------------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x02 (Configuration Descriptor) +wTotalLength : 0x09A2 (2466 bytes) +bNumInterfaces : 0x04 (4 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x00 (No String Descriptor) +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 02 A2 09 04 01 00 80 FA 08 0B 00 02 0E 03 00 ................ + 00 09 04 00 00 01 0E 01 00 00 0D 24 01 00 01 A0 ...........$.... + 00 00 6C DC 02 01 01 12 24 02 01 01 02 00 00 00 ..l.....$....... + 00 00 00 00 00 03 0E 00 00 0B 24 05 02 01 00 40 ..........$....@ + 02 5B 17 00 1B 24 06 03 E4 8E 67 69 0F 41 DB 40 .[...$....gi.A.@ + A8 50 74 20 D7 D8 24 0E 08 01 02 02 3F 03 00 1B .Pt ..$.....?... + 24 06 04 15 02 E4 49 34 F4 FE 47 B1 58 0E 88 50 $.....I4..G.X..P + 23 E5 1B 03 01 02 02 09 01 00 1C 24 06 06 A9 4C #..........$...L + 5D 1F 11 DE 87 44 84 0D 50 93 3C 8E C8 D1 12 01 ]....D..P.<..... + 04 03 FF FF 03 00 1B 24 06 07 21 2D E5 FF 30 80 .......$..!-..0. + 2C 4E 82 D9 F5 87 D0 05 40 BD 02 01 04 02 00 03 ,N......@....... + 00 09 24 03 05 01 01 00 04 00 07 05 87 03 10 00 ..$............. + 08 05 25 03 10 00 09 04 01 00 00 0E 02 00 00 10 ..%............. + 24 01 03 36 07 81 00 05 01 00 00 01 00 04 04 1B $..6............ + 24 04 01 13 59 55 59 32 00 00 10 00 80 00 00 AA $...YUY2........ + 00 38 9B 71 10 01 00 00 00 00 32 24 05 01 01 80 .8.q......2$.... + 02 E0 01 00 00 77 01 00 00 CA 08 00 60 09 00 15 .....w......`... + 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 ............ ... + 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 05 02 *,..@B......2$.. + 01 A0 00 78 00 00 70 17 00 00 A0 8C 00 00 96 00 ...x..p......... + 00 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 .............. . + 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 ..*,..@B......2$ + 05 03 01 B0 00 90 00 00 F0 1E 00 00 A0 B9 00 00 ................ + C6 00 00 15 16 05 00 06 15 16 05 00 80 1A 06 00 ................ + 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 ...*,..@B...... + 32 24 05 04 01 40 01 B0 00 00 C0 44 00 00 80 9C 2$...@.....D.... + 01 00 B8 01 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 32 24 05 05 01 40 01 F0 00 00 C0 5D 00 00 ..2$...@.....].. + 80 32 02 00 58 02 00 15 16 05 00 06 15 16 05 00 .2..X........... + 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 .... ...*,..@B.. + 80 84 1E 00 32 24 05 06 01 60 01 20 01 00 C0 7B ....2$...`. ...{ + 00 00 80 E6 02 00 18 03 00 15 16 05 00 06 15 16 ................ + 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 ...... ...*,..@B + 0F 00 80 84 1E 00 32 24 05 07 01 B0 01 F0 00 00 ......2$........ + 90 7E 00 00 60 F7 02 00 2A 03 00 15 16 05 00 06 .~..`...*....... + 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 ........ ...*,.. + 40 42 0F 00 80 84 1E 00 32 24 05 08 01 20 02 20 @B......2$... . + 01 00 40 BF 00 00 80 7B 04 00 C8 04 00 15 16 05 ..@....{........ + 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C .......... ...*, + 0A 00 40 42 0F 00 80 84 1E 00 32 24 05 09 01 80 ..@B......2$.... + 02 68 01 00 40 19 01 00 80 97 06 00 08 07 00 15 .h..@........... + 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 ............ ... + 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 2E 24 05 0A *,..@B.......$.. + 01 F0 02 A0 01 00 E0 7D 01 00 60 75 07 00 8C 09 .......}..`u.... + 00 80 1A 06 00 05 80 1A 06 00 20 A1 07 00 2A 2C .......... ...*, + 0A 00 40 42 0F 00 80 84 1E 00 2A 24 05 0B 01 20 ..@B......*$... + 03 C0 01 00 80 B5 01 00 00 D6 06 00 F0 0A 00 20 ............... + A1 07 00 04 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 .... ...*,..@B.. + 80 84 1E 00 2A 24 05 0C 01 20 03 58 02 00 F0 49 ....*$... .X...I + 02 00 C0 27 09 00 A6 0E 00 20 A1 07 00 04 20 A1 ...'..... .... . + 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 2A 24 ..*,..@B......*$ + 05 0D 01 60 03 E0 01 00 40 FA 01 00 00 E9 07 00 ...`....@....... + A8 0C 00 20 A1 07 00 04 20 A1 07 00 2A 2C 0A 00 ... .... ...*,.. + 40 42 0F 00 80 84 1E 00 26 24 05 0E 01 C0 03 20 @B......&$..... + 02 00 80 7D 02 00 80 78 07 00 F0 0F 00 2A 2C 0A ...}...x.....*,. + 00 03 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 22 24 ..*,..@B......"$ + 05 0F 01 C0 03 D0 02 00 C0 4B 03 00 80 97 06 00 .........K...... + 18 15 00 40 42 0F 00 02 40 42 0F 00 80 84 1E 00 ...@B...@B...... + 22 24 05 10 01 00 04 40 02 00 00 D0 02 00 00 A0 "$.....@........ + 05 00 00 12 00 40 42 0F 00 02 40 42 0F 00 80 84 .....@B...@B.... + 1E 00 22 24 05 11 01 A0 04 90 02 00 20 B4 03 00 .."$........ ... + 40 68 07 00 B4 17 00 40 42 0F 00 02 40 42 0F 00 @h.....@B...@B.. + 80 84 1E 00 22 24 05 12 01 00 05 D0 02 00 00 65 ...."$.........e + 04 00 00 CA 08 00 20 1C 00 80 84 1E 00 02 55 58 ...... .......UX + 14 00 80 84 1E 00 22 24 05 13 01 00 05 C0 03 00 ......"$........ + 00 DC 05 00 00 B8 0B 00 80 25 00 80 84 1E 00 02 .........%...... + 55 58 14 00 80 84 1E 00 06 24 0D 01 01 04 0B 24 UX.......$.....$ + 06 02 13 01 01 00 00 00 00 32 24 07 01 01 80 02 .........2$..... + E0 01 00 00 77 01 00 00 CA 08 00 60 09 00 15 16 ....w......`.... + 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A ........... ...* + 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 02 01 ,..@B......2$... + A0 00 78 00 00 70 17 00 00 A0 8C 00 00 96 00 00 ..x..p.......... + 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 .*,..@B......2$. + 03 01 B0 00 90 00 00 F0 1E 00 00 A0 B9 00 00 C6 ................ + 00 00 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 ............... + A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 ...*,..@B......2 + 24 07 04 01 40 01 B0 00 00 C0 44 00 00 80 9C 01 $...@.....D..... + 00 B8 01 00 15 16 05 00 06 15 16 05 00 80 1A 06 ................ + 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E . ...*,..@B..... + 00 32 24 07 05 01 40 01 F0 00 00 C0 5D 00 00 80 .2$...@.....]... + 32 02 00 58 02 00 15 16 05 00 06 15 16 05 00 80 2..X............ + 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 ... ...*,..@B... + 84 1E 00 32 24 07 06 01 60 01 20 01 00 C0 7B 00 ...2$...`. ...{. + 00 80 E6 02 00 18 03 00 15 16 05 00 06 15 16 05 ................ + 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F ..... ...*,..@B. + 00 80 84 1E 00 32 24 07 07 01 B0 01 F0 00 00 90 .....2$......... + 7E 00 00 60 F7 02 00 2A 03 00 15 16 05 00 06 15 ~..`...*........ + 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 ....... ...*,..@ + 42 0F 00 80 84 1E 00 32 24 07 08 01 20 02 20 01 B......2$... . . + 00 40 BF 00 00 80 7B 04 00 C8 04 00 15 16 05 00 .@....{......... + 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A ......... ...*,. + 00 40 42 0F 00 80 84 1E 00 32 24 07 09 01 80 02 .@B......2$..... + 68 01 00 40 19 01 00 80 97 06 00 08 07 00 15 16 h..@............ + 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A ........... ...* + 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 0A 01 ,..@B......2$... + F0 02 A0 01 00 E0 7D 01 00 40 F3 08 00 8C 09 00 ......}..@...... + 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 .*,..@B......2$. + 0B 01 20 03 C0 01 00 80 B5 01 00 00 41 0A 00 F0 .. .........A... + 0A 00 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 ............... + A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 ...*,..@B......2 + 24 07 0C 01 20 03 58 02 00 F0 49 02 00 A0 BB 0D $... .X...I..... + 00 A6 0E 00 15 16 05 00 06 15 16 05 00 80 1A 06 ................ + 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E . ...*,..@B..... + 00 32 24 07 0D 01 60 03 E0 01 00 40 FA 01 00 80 .2$...`....@.... + DD 0B 00 A8 0C 00 15 16 05 00 06 15 16 05 00 80 ................ + 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 ... ...*,..@B... + 84 1E 00 32 24 07 0E 01 C0 03 20 02 00 80 7D 02 ...2$..... ...}. + 00 00 F1 0E 00 F0 0F 00 15 16 05 00 06 15 16 05 ................ + 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F ..... ...*,..@B. + 00 80 84 1E 00 32 24 07 0F 01 C0 03 D0 02 00 C0 .....2$......... + 4B 03 00 80 C6 13 00 18 15 00 15 16 05 00 06 15 K............... + 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 ....... ...*,..@ + 42 0F 00 80 84 1E 00 32 24 07 10 01 00 04 40 02 B......2$.....@. + 00 00 D0 02 00 00 E0 10 00 00 12 00 15 16 05 00 ................ + 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A ......... ...*,. + 00 40 42 0F 00 80 84 1E 00 32 24 07 11 01 A0 04 .@B......2$..... + 90 02 00 20 B4 03 00 C0 38 16 00 B4 17 00 15 16 ... ....8....... + 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A ........... ...* + 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 12 01 ,..@B......2$... + 00 05 D0 02 00 00 65 04 00 00 5E 1A 00 20 1C 00 ......e...^.. .. + 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 .*,..@B......2$. + 13 01 00 05 C0 03 00 00 DC 05 00 00 28 23 00 80 ............(#.. + 25 00 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 %.............. + A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 06 ...*,..@B....... + 24 0D 01 01 04 09 04 01 01 01 0E 02 00 00 07 05 $............... + 81 05 C0 00 01 09 04 01 02 01 0E 02 00 00 07 05 ................ + 81 05 80 01 01 09 04 01 03 01 0E 02 00 00 07 05 ................ + 81 05 00 02 01 09 04 01 04 01 0E 02 00 00 07 05 ................ + 81 05 80 02 01 09 04 01 05 01 0E 02 00 00 07 05 ................ + 81 05 20 03 01 09 04 01 06 01 0E 02 00 00 07 05 .. ............. + 81 05 B0 03 01 09 04 01 07 01 0E 02 00 00 07 05 ................ + 81 05 80 0A 01 09 04 01 08 01 0E 02 00 00 07 05 ................ + 81 05 20 0B 01 09 04 01 09 01 0E 02 00 00 07 05 .. ............. + 81 05 E0 0B 01 09 04 01 0A 01 0E 02 00 00 07 05 ................ + 81 05 80 13 01 09 04 01 0B 01 0E 02 00 00 07 05 ................ + 81 05 FC 13 01 08 0B 02 02 01 02 00 00 09 04 02 ................ + 00 00 01 01 00 00 09 24 01 00 01 26 00 01 03 0C .......$...&.... + 24 02 01 01 02 00 01 00 00 00 00 09 24 03 03 01 $...........$... + 01 01 05 00 09 24 06 05 01 01 03 00 00 09 04 03 .....$.......... + 00 00 01 02 00 00 09 04 03 01 01 01 02 00 00 07 ................ + 24 01 03 01 01 00 0B 24 02 01 01 02 10 01 80 3E $......$.......> + 00 09 05 86 05 44 00 04 00 00 07 25 01 01 00 00 .....D.....%.... + 00 09 04 03 02 01 01 02 00 00 07 24 01 03 01 01 ...........$.... + 00 0B 24 02 01 01 02 10 01 C0 5D 00 09 05 86 05 ..$.......]..... + 64 00 04 00 00 07 25 01 01 00 00 00 09 04 03 03 d.....%......... + 01 01 02 00 00 07 24 01 03 01 01 00 0B 24 02 01 ......$......$.. + 01 02 10 01 00 7D 00 09 05 86 05 84 00 04 00 00 .....}.......... + 07 25 01 01 00 00 00 09 04 03 04 01 01 02 00 00 .%.............. + 07 24 01 03 01 01 00 0B 24 02 01 01 02 10 01 80 .$......$....... + BB 00 09 05 86 05 C4 00 04 00 00 07 25 01 01 00 ............%... + 00 00 .. + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x00 (No String Descriptor) +Data (HexDump) : 08 0B 00 02 0E 03 00 00 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 00 00 01 0E 01 00 00 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x00A0 (160 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 00 01 A0 00 00 6C DC 02 01 01 .$......l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x0E, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 1 yes - Auto-Exposure Priority + D3 : 1 yes - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 0E .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x5B, 0x17 + D0 : 1 yes - Brightness + D1 : 1 yes - Contrast + D2 : 0 no - Hue + D3 : 1 yes - Saturation + D4 : 1 yes - Sharpness + D5 : 0 no - Gamma + D6 : 1 yes - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 1 yes - Backlight Compensation + D9 : 1 yes - Gain + D10 : 1 yes - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 1 yes - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +Data (HexDump) : 0B 24 05 02 01 00 40 02 5B 17 00 .$....@.[.. + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x03 +guidExtensionCode : {69678EE4-410F-40DB-A850-7420D7D8240E} +bNumControls : 0x08 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x02 +bmControls : 0x3F, 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 1 yes - Vendor-Specific (Optional) + D4 : 1 yes - Vendor-Specific (Optional) + D5 : 1 yes - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 1 yes - Vendor-Specific (Optional) + D10 : 0 no - Vendor-Specific (Optional) + D11 : 0 no - Vendor-Specific (Optional) + D12 : 0 no - Vendor-Specific (Optional) + D13 : 0 no - Vendor-Specific (Optional) + D14 : 0 no - Vendor-Specific (Optional) + D15 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1B 24 06 03 E4 8E 67 69 0F 41 DB 40 A8 50 74 20 .$....gi.A.@.Pt + D7 D8 24 0E 08 01 02 02 3F 03 00 ..$.....?.. + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x04 +guidExtensionCode : {49E40215-F434-47FE-B158-0E885023E51B} +bNumControls : 0x03 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x02 +bmControls : 0x09, 0x01 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 0 no - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 1 yes - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 0 no - Vendor-Specific (Optional) + D10 : 0 no - Vendor-Specific (Optional) + D11 : 0 no - Vendor-Specific (Optional) + D12 : 0 no - Vendor-Specific (Optional) + D13 : 0 no - Vendor-Specific (Optional) + D14 : 0 no - Vendor-Specific (Optional) + D15 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1B 24 06 04 15 02 E4 49 34 F4 FE 47 B1 58 0E 88 .$.....I4..G.X.. + 50 23 E5 1B 03 01 02 02 09 01 00 P#......... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x06 +guidExtensionCode : {1F5D4CA9-DE11-4487-840D-50933C8EC8D1} +bNumControls : 0x12 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x04 +bControlSize : 0x03 +bmControls : 0xFF, 0xFF, 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 1 yes - Vendor-Specific (Optional) + D4 : 1 yes - Vendor-Specific (Optional) + D5 : 1 yes - Vendor-Specific (Optional) + D6 : 1 yes - Vendor-Specific (Optional) + D7 : 1 yes - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 1 yes - Vendor-Specific (Optional) + D10 : 1 yes - Vendor-Specific (Optional) + D11 : 1 yes - Vendor-Specific (Optional) + D12 : 1 yes - Vendor-Specific (Optional) + D13 : 1 yes - Vendor-Specific (Optional) + D14 : 1 yes - Vendor-Specific (Optional) + D15 : 1 yes - Vendor-Specific (Optional) + D16 : 1 yes - Vendor-Specific (Optional) + D17 : 1 yes - Vendor-Specific (Optional) + D18 : 0 no - Vendor-Specific (Optional) + D19 : 0 no - Vendor-Specific (Optional) + D20 : 0 no - Vendor-Specific (Optional) + D21 : 0 no - Vendor-Specific (Optional) + D22 : 0 no - Vendor-Specific (Optional) + D23 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1C 24 06 06 A9 4C 5D 1F 11 DE 87 44 84 0D 50 93 .$...L]....D..P. + 3C 8E C8 D1 12 01 04 03 FF FF 03 00 <........... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x07 +guidExtensionCode : {FFE52D21-8030-4E2C-82D9-F587D00540BD} +bNumControls : 0x02 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x04 +bControlSize : 0x02 +bmControls : 0x00, 0x03 + D0 : 0 no - Vendor-Specific (Optional) + D1 : 0 no - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 1 yes - Vendor-Specific (Optional) + D10 : 0 no - Vendor-Specific (Optional) + D11 : 0 no - Vendor-Specific (Optional) + D12 : 0 no - Vendor-Specific (Optional) + D13 : 0 no - Vendor-Specific (Optional) + D14 : 0 no - Vendor-Specific (Optional) + D15 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1B 24 06 07 21 2D E5 FF 30 80 2C 4E 82 D9 F5 87 .$..!-..0.,N.... + D0 05 40 BD 02 01 04 02 00 03 00 ..@........ + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x05 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x04 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 05 01 01 00 04 00 .$....... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x87 (Direction=IN EndpointID=7) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0010 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x10 (16 bytes per packet) +bInterval : 0x08 (8 ms) +Data (HexDump) : 07 05 87 03 10 00 08 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0010 (16 bytes) +Data (HexDump) : 05 25 03 10 00 .%... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 00 00 0E 02 00 00 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x10 (16 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x03 +wTotalLength : 0x0736 (1846 bytes) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x05 +bStillCaptureMethod : 0x01 (Still Capture Method 1) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 2 : 0x04 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 1 yes - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 3 : 0x04 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 1 yes - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 10 24 01 03 36 07 81 00 05 01 00 00 01 00 04 04 .$..6........... + + ------- VS Uncompressed Format Type Descriptor -------- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x04 (Uncompressed Format Type) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x13 (19) +guidFormat : {32595559-0000-0010-8000-00AA00389B71} (YUY2) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 1B 24 04 01 13 59 55 59 32 00 00 10 00 80 00 00 .$...YUY2....... + AA 00 38 9B 71 10 01 00 00 00 00 ..8.q...... + + -------- VS Uncompressed Frame Type Descriptor -------- +---> This is the Default (optimum) Frame index +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x01770000 (24576000 bps -> 3.72 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 01 01 80 02 E0 01 00 00 77 01 00 00 CA 2$.........w.... + 08 00 60 09 00 15 16 05 00 06 15 16 05 00 80 1A ..`............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x01 +wWidth : 0x00A0 (160) +wHeight : 0x0078 (120) +dwMinBitRate : 0x00177000 (1536000 bps -> 192 KB/s) +dwMaxBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwMaxVideoFrameBufferSize: 0x00009600 (38400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 02 01 A0 00 78 00 00 70 17 00 00 A0 8C 2$.....x..p..... + 00 00 96 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x01 +wWidth : 0x00B0 (176) +wHeight : 0x0090 (144) +dwMinBitRate : 0x001EF000 (2027520 bps -> 253.375 KB/s) +dwMaxBitRate : 0x00B9A000 (12165120 bps -> 1.520 MB/s) +dwMaxVideoFrameBufferSize: 0x0000C600 (50688 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 03 01 B0 00 90 00 00 F0 1E 00 00 A0 B9 2$.............. + 00 00 C6 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x01 +wWidth : 0x0140 (320) +wHeight : 0x00B0 (176) +dwMinBitRate : 0x0044C000 (4505600 bps -> 563.125 KB/s) +dwMaxBitRate : 0x019C8000 (27033600 bps -> 3.379 MB/s) +dwMaxVideoFrameBufferSize: 0x0001B800 (112640 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 04 01 40 01 B0 00 00 C0 44 00 00 80 9C 2$...@.....D.... + 01 00 B8 01 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x01 +wWidth : 0x0140 (320) +wHeight : 0x00F0 (240) +dwMinBitRate : 0x005DC000 (6144000 bps -> 768 KB/s) +dwMaxBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwMaxVideoFrameBufferSize: 0x00025800 (153600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 05 01 40 01 F0 00 00 C0 5D 00 00 80 32 2$...@.....]...2 + 02 00 58 02 00 15 16 05 00 06 15 16 05 00 80 1A ..X............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x01 +wWidth : 0x0160 (352) +wHeight : 0x0120 (288) +dwMinBitRate : 0x007BC000 (8110080 bps -> 1.13 MB/s) +dwMaxBitRate : 0x02E68000 (48660480 bps -> 6.82 MB/s) +dwMaxVideoFrameBufferSize: 0x00031800 (202752 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 06 01 60 01 20 01 00 C0 7B 00 00 80 E6 2$...`. ...{.... + 02 00 18 03 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x01 +wWidth : 0x01B0 (432) +wHeight : 0x00F0 (240) +dwMinBitRate : 0x007E9000 (8294400 bps -> 1.36 MB/s) +dwMaxBitRate : 0x02F76000 (49766400 bps -> 6.220 MB/s) +dwMaxVideoFrameBufferSize: 0x00032A00 (207360 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 07 01 B0 01 F0 00 00 90 7E 00 00 60 F7 2$.........~..`. + 02 00 2A 03 00 15 16 05 00 06 15 16 05 00 80 1A ..*............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x01 +wWidth : 0x0220 (544) +wHeight : 0x0120 (288) +dwMinBitRate : 0x00BF4000 (12533760 bps -> 1.566 MB/s) +dwMaxBitRate : 0x047B8000 (75202560 bps -> 9.400 MB/s) +dwMaxVideoFrameBufferSize: 0x0004C800 (313344 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 08 01 20 02 20 01 00 40 BF 00 00 80 7B 2$... . ..@....{ + 04 00 C8 04 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x09 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 09 01 80 02 68 01 00 40 19 01 00 80 97 2$.....h..@..... + 06 00 08 07 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x2E (46 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x0A +bmCapabilities : 0x01 +wWidth : 0x02F0 (752) +wHeight : 0x01A0 (416) +dwMinBitRate : 0x017DE000 (25026560 bps -> 3.128 MB/s) +dwMaxBitRate : 0x07756000 (125132800 bps -> 15.641 MB/s) +dwMaxVideoFrameBufferSize: 0x00098C00 (625664 bytes) +dwDefaultFrameInterval : 0x00061A80 (40.0000 ms -> 25.000 fps) +bFrameIntervalType : 0x05 (5 discrete frame intervals supported) +adwFrameInterval[1] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[4] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[5] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 2E 24 05 0A 01 F0 02 A0 01 00 E0 7D 01 00 60 75 .$.........}..`u + 07 00 8C 09 00 80 1A 06 00 05 80 1A 06 00 20 A1 .............. . + 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 ..*,..@B...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x0B +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x01C0 (448) +dwMinBitRate : 0x01B58000 (28672000 bps -> 3.584 MB/s) +dwMaxBitRate : 0x06D60000 (114688000 bps -> 14.336 MB/s) +dwMaxVideoFrameBufferSize: 0x000AF000 (716800 bytes) +dwDefaultFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +adwFrameInterval[1] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[3] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[4] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 2A 24 05 0B 01 20 03 C0 01 00 80 B5 01 00 00 D6 *$... .......... + 06 00 F0 0A 00 20 A1 07 00 04 20 A1 07 00 2A 2C ..... .... ...*, + 0A 00 40 42 0F 00 80 84 1E 00 ..@B...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x0C +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x0258 (600) +dwMinBitRate : 0x0249F000 (38400000 bps -> 4.800 MB/s) +dwMaxBitRate : 0x0927C000 (153600000 bps -> 19.200 MB/s) +dwMaxVideoFrameBufferSize: 0x000EA600 (960000 bytes) +dwDefaultFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +adwFrameInterval[1] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[3] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[4] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 2A 24 05 0C 01 20 03 58 02 00 F0 49 02 00 C0 27 *$... .X...I...' + 09 00 A6 0E 00 20 A1 07 00 04 20 A1 07 00 2A 2C ..... .... ...*, + 0A 00 40 42 0F 00 80 84 1E 00 ..@B...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x2A (42 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x0D +bmCapabilities : 0x01 +wWidth : 0x0360 (864) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x01FA4000 (33177600 bps -> 4.147 MB/s) +dwMaxBitRate : 0x07E90000 (132710400 bps -> 16.588 MB/s) +dwMaxVideoFrameBufferSize: 0x000CA800 (829440 bytes) +dwDefaultFrameInterval : 0x0007A120 (50.0000 ms -> 20.000 fps) +bFrameIntervalType : 0x04 (4 discrete frame intervals supported) +adwFrameInterval[1] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[2] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[3] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[4] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 2A 24 05 0D 01 60 03 E0 01 00 40 FA 01 00 00 E9 *$...`....@..... + 07 00 A8 0C 00 20 A1 07 00 04 20 A1 07 00 2A 2C ..... .... ...*, + 0A 00 40 42 0F 00 80 84 1E 00 ..@B...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x0E +bmCapabilities : 0x01 +wWidth : 0x03C0 (960) +wHeight : 0x0220 (544) +dwMinBitRate : 0x027D8000 (41779200 bps -> 5.222 MB/s) +dwMaxBitRate : 0x07788000 (125337600 bps -> 15.667 MB/s) +dwMaxVideoFrameBufferSize: 0x000FF000 (1044480 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 05 0E 01 C0 03 20 02 00 80 7D 02 00 80 78 &$..... ...}...x + 07 00 F0 0F 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x0F +bmCapabilities : 0x01 +wWidth : 0x03C0 (960) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00151800 (1382400 bytes) +dwDefaultFrameInterval : 0x000F4240 (100.0000 ms -> 10.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[2] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 22 24 05 0F 01 C0 03 D0 02 00 C0 4B 03 00 80 97 "$.........K.... + 06 00 18 15 00 40 42 0F 00 02 40 42 0F 00 80 84 .....@B...@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x10 +bmCapabilities : 0x01 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x02D00000 (47185920 bps -> 5.898 MB/s) +dwMaxBitRate : 0x05A00000 (94371840 bps -> 11.796 MB/s) +dwMaxVideoFrameBufferSize: 0x00120000 (1179648 bytes) +dwDefaultFrameInterval : 0x000F4240 (100.0000 ms -> 10.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[2] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 22 24 05 10 01 00 04 40 02 00 00 D0 02 00 00 A0 "$.....@........ + 05 00 00 12 00 40 42 0F 00 02 40 42 0F 00 80 84 .....@B...@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x11 +bmCapabilities : 0x01 +wWidth : 0x04A0 (1184) +wHeight : 0x0290 (656) +dwMinBitRate : 0x03B42000 (62136320 bps -> 7.767 MB/s) +dwMaxBitRate : 0x07684000 (124272640 bps -> 15.534 MB/s) +dwMaxVideoFrameBufferSize: 0x0017B400 (1553408 bytes) +dwDefaultFrameInterval : 0x000F4240 (100.0000 ms -> 10.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[2] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 22 24 05 11 01 A0 04 90 02 00 20 B4 03 00 40 68 "$........ ...@h + 07 00 B4 17 00 40 42 0F 00 02 40 42 0F 00 80 84 .....@B...@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x12 +bmCapabilities : 0x01 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x04650000 (73728000 bps -> 9.216 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x001E8480 (200.0000 ms -> 5.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x00145855 (133.3333 ms -> 7.500 fps) +adwFrameInterval[2] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 22 24 05 12 01 00 05 D0 02 00 00 65 04 00 00 CA "$.........e.... + 08 00 20 1C 00 80 84 1E 00 02 55 58 14 00 80 84 .. .......UX.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x22 (34 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x13 +bmCapabilities : 0x01 +wWidth : 0x0500 (1280) +wHeight : 0x03C0 (960) +dwMinBitRate : 0x05DC0000 (98304000 bps -> 12.288 MB/s) +dwMaxBitRate : 0x0BB80000 (196608000 bps -> 24.576 MB/s) +dwMaxVideoFrameBufferSize: 0x00258000 (2457600 bytes) +dwDefaultFrameInterval : 0x001E8480 (200.0000 ms -> 5.000 fps) +bFrameIntervalType : 0x02 (2 discrete frame intervals supported) +adwFrameInterval[1] : 0x00145855 (133.3333 ms -> 7.500 fps) +adwFrameInterval[2] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 22 24 05 13 01 00 05 C0 03 00 00 DC 05 00 00 B8 "$.............. + 0B 00 80 25 00 80 84 1E 00 02 55 58 14 00 80 84 ...%......UX.... + 1E 00 .. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x02 (2) +bNumFrameDescriptors : 0x13 (19) +bmFlags : 0x01 (Sample size is fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 02 13 01 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x01770000 (24576000 bps -> 3.72 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 01 01 80 02 E0 01 00 00 77 01 00 00 CA 2$.........w.... + 08 00 60 09 00 15 16 05 00 06 15 16 05 00 80 1A ..`............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x01 +wWidth : 0x00A0 (160) +wHeight : 0x0078 (120) +dwMinBitRate : 0x00177000 (1536000 bps -> 192 KB/s) +dwMaxBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwMaxVideoFrameBufferSize: 0x00009600 (38400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 02 01 A0 00 78 00 00 70 17 00 00 A0 8C 2$.....x..p..... + 00 00 96 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x01 +wWidth : 0x00B0 (176) +wHeight : 0x0090 (144) +dwMinBitRate : 0x001EF000 (2027520 bps -> 253.375 KB/s) +dwMaxBitRate : 0x00B9A000 (12165120 bps -> 1.520 MB/s) +dwMaxVideoFrameBufferSize: 0x0000C600 (50688 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 03 01 B0 00 90 00 00 F0 1E 00 00 A0 B9 2$.............. + 00 00 C6 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x01 +wWidth : 0x0140 (320) +wHeight : 0x00B0 (176) +dwMinBitRate : 0x0044C000 (4505600 bps -> 563.125 KB/s) +dwMaxBitRate : 0x019C8000 (27033600 bps -> 3.379 MB/s) +dwMaxVideoFrameBufferSize: 0x0001B800 (112640 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 04 01 40 01 B0 00 00 C0 44 00 00 80 9C 2$...@.....D.... + 01 00 B8 01 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x01 +wWidth : 0x0140 (320) +wHeight : 0x00F0 (240) +dwMinBitRate : 0x005DC000 (6144000 bps -> 768 KB/s) +dwMaxBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwMaxVideoFrameBufferSize: 0x00025800 (153600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 05 01 40 01 F0 00 00 C0 5D 00 00 80 32 2$...@.....]...2 + 02 00 58 02 00 15 16 05 00 06 15 16 05 00 80 1A ..X............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x01 +wWidth : 0x0160 (352) +wHeight : 0x0120 (288) +dwMinBitRate : 0x007BC000 (8110080 bps -> 1.13 MB/s) +dwMaxBitRate : 0x02E68000 (48660480 bps -> 6.82 MB/s) +dwMaxVideoFrameBufferSize: 0x00031800 (202752 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 06 01 60 01 20 01 00 C0 7B 00 00 80 E6 2$...`. ...{.... + 02 00 18 03 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x01 +wWidth : 0x01B0 (432) +wHeight : 0x00F0 (240) +dwMinBitRate : 0x007E9000 (8294400 bps -> 1.36 MB/s) +dwMaxBitRate : 0x02F76000 (49766400 bps -> 6.220 MB/s) +dwMaxVideoFrameBufferSize: 0x00032A00 (207360 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 07 01 B0 01 F0 00 00 90 7E 00 00 60 F7 2$.........~..`. + 02 00 2A 03 00 15 16 05 00 06 15 16 05 00 80 1A ..*............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x01 +wWidth : 0x0220 (544) +wHeight : 0x0120 (288) +dwMinBitRate : 0x00BF4000 (12533760 bps -> 1.566 MB/s) +dwMaxBitRate : 0x047B8000 (75202560 bps -> 9.400 MB/s) +dwMaxVideoFrameBufferSize: 0x0004C800 (313344 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 08 01 20 02 20 01 00 40 BF 00 00 80 7B 2$... . ..@....{ + 04 00 C8 04 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x09 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 09 01 80 02 68 01 00 40 19 01 00 80 97 2$.....h..@..... + 06 00 08 07 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0A +bmCapabilities : 0x01 +wWidth : 0x02F0 (752) +wHeight : 0x01A0 (416) +dwMinBitRate : 0x017DE000 (25026560 bps -> 3.128 MB/s) +dwMaxBitRate : 0x08F34000 (150159360 bps -> 18.769 MB/s) +dwMaxVideoFrameBufferSize: 0x00098C00 (625664 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 0A 01 F0 02 A0 01 00 E0 7D 01 00 40 F3 2$.........}..@. + 08 00 8C 09 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0B +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x01C0 (448) +dwMinBitRate : 0x01B58000 (28672000 bps -> 3.584 MB/s) +dwMaxBitRate : 0x0A410000 (172032000 bps -> 21.504 MB/s) +dwMaxVideoFrameBufferSize: 0x000AF000 (716800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 0B 01 20 03 C0 01 00 80 B5 01 00 00 41 2$... .........A + 0A 00 F0 0A 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0C +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x0258 (600) +dwMinBitRate : 0x0249F000 (38400000 bps -> 4.800 MB/s) +dwMaxBitRate : 0x0DBBA000 (230400000 bps -> 28.800 MB/s) +dwMaxVideoFrameBufferSize: 0x000EA600 (960000 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 0C 01 20 03 58 02 00 F0 49 02 00 A0 BB 2$... .X...I.... + 0D 00 A6 0E 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0D +bmCapabilities : 0x01 +wWidth : 0x0360 (864) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x01FA4000 (33177600 bps -> 4.147 MB/s) +dwMaxBitRate : 0x0BDD8000 (199065600 bps -> 24.883 MB/s) +dwMaxVideoFrameBufferSize: 0x000CA800 (829440 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 0D 01 60 03 E0 01 00 40 FA 01 00 80 DD 2$...`....@..... + 0B 00 A8 0C 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0E +bmCapabilities : 0x01 +wWidth : 0x03C0 (960) +wHeight : 0x0220 (544) +dwMinBitRate : 0x027D8000 (41779200 bps -> 5.222 MB/s) +dwMaxBitRate : 0x0EF10000 (250675200 bps -> 31.334 MB/s) +dwMaxVideoFrameBufferSize: 0x000FF000 (1044480 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 0E 01 C0 03 20 02 00 80 7D 02 00 00 F1 2$..... ...}.... + 0E 00 F0 0F 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0F +bmCapabilities : 0x01 +wWidth : 0x03C0 (960) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x034BC000 (55296000 bps -> 6.912 MB/s) +dwMaxBitRate : 0x13C68000 (331776000 bps -> 41.472 MB/s) +dwMaxVideoFrameBufferSize: 0x00151800 (1382400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 0F 01 C0 03 D0 02 00 C0 4B 03 00 80 C6 2$.........K.... + 13 00 18 15 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x10 +bmCapabilities : 0x01 +wWidth : 0x0400 (1024) +wHeight : 0x0240 (576) +dwMinBitRate : 0x02D00000 (47185920 bps -> 5.898 MB/s) +dwMaxBitRate : 0x10E00000 (283115520 bps -> 35.389 MB/s) +dwMaxVideoFrameBufferSize: 0x00120000 (1179648 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 10 01 00 04 40 02 00 00 D0 02 00 00 E0 2$.....@........ + 10 00 00 12 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x11 +bmCapabilities : 0x01 +wWidth : 0x04A0 (1184) +wHeight : 0x0290 (656) +dwMinBitRate : 0x03B42000 (62136320 bps -> 7.767 MB/s) +dwMaxBitRate : 0x1638C000 (372817920 bps -> 46.602 MB/s) +dwMaxVideoFrameBufferSize: 0x0017B400 (1553408 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 11 01 A0 04 90 02 00 20 B4 03 00 C0 38 2$........ ....8 + 16 00 B4 17 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x12 +bmCapabilities : 0x01 +wWidth : 0x0500 (1280) +wHeight : 0x02D0 (720) +dwMinBitRate : 0x04650000 (73728000 bps -> 9.216 MB/s) +dwMaxBitRate : 0x1A5E0000 (442368000 bps -> 55.296 MB/s) +dwMaxVideoFrameBufferSize: 0x001C2000 (1843200 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 12 01 00 05 D0 02 00 00 65 04 00 00 5E 2$.........e...^ + 1A 00 20 1C 00 15 16 05 00 06 15 16 05 00 80 1A .. ............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x13 +bmCapabilities : 0x01 +wWidth : 0x0500 (1280) +wHeight : 0x03C0 (960) +dwMinBitRate : 0x05DC0000 (98304000 bps -> 12.288 MB/s) +dwMaxBitRate : 0x23280000 (589824000 bps -> 73.728 MB/s) +dwMaxVideoFrameBufferSize: 0x00258000 (2457600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 13 01 00 05 C0 03 00 00 DC 05 00 00 28 2$.............( + 23 00 80 25 00 15 16 05 00 06 15 16 05 00 80 1A #..%............ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 01 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x00C0 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0xC0 (192 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 C0 00 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x02 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 02 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0180 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x180 (384 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 80 01 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x03 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 03 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0200 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x200 (512 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 00 02 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x04 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 04 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0280 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x280 (640 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 80 02 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x05 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 05 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0320 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x320 (800 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 20 03 01 .... .. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x06 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 06 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x03B0 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x3B0 (944 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 B0 03 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x07 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 07 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0A80 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet) + Bits 10..0 : 0x280 (640 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 80 0A 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x08 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 08 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0B20 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet) + Bits 10..0 : 0x320 (800 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 20 0B 01 .... .. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x09 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 09 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0BE0 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet) + Bits 10..0 : 0x3E0 (992 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 E0 0B 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x0A +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 0A 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x1380 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet) + Bits 10..0 : 0x380 (896 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 80 13 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x0B +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 0B 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x13FC + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet) + Bits 10..0 : 0x3FC (1020 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 FC 13 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x02 +bFunctionClass : 0x01 (Audio) +bFunctionSubClass : 0x02 (Audio Streaming) +bFunctionProtocol : 0x00 +iFunction : 0x00 (No String Descriptor) +Data (HexDump) : 08 0B 02 02 01 02 00 00 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x01 (Audio Control) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 02 00 00 01 01 00 00 ......... + + ------ Audio Control Interface Header Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 (Header) +bcdADC : 0x0100 +wTotalLength : 0x0026 (38 bytes) +bInCollection : 0x01 +baInterfaceNr[1] : 0x03 +Data (HexDump) : 09 24 01 00 01 26 00 01 03 .$...&... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (Microphone) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0000 (-) +iChannelNames : 0x00 (No String Descriptor) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 0C 24 02 01 01 02 00 01 00 00 00 00 .$.......... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x01 (1) +bSourceID : 0x05 (5) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 03 03 01 01 01 05 00 .$....... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x05 (5) +bSourceID : 0x01 (1) +bControlSize : 0x01 (1 byte per control) +bmaControls[0] : 0x03 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +bmaControls[1] : 0x00 + D0: Mute : 0 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +iFeature : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 06 05 01 01 03 00 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 00 00 01 02 00 00 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 01 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x03E80 (16000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 3E 00 .$.......>. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0044 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x44 (68 bytes per packet) +bInterval : 0x04 (4 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 44 00 04 00 00 ....D.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x02 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 02 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x05DC0 (24000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 C0 5D 00 .$.......]. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0064 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x64 (100 bytes per packet) +bInterval : 0x04 (4 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 64 00 04 00 00 ....d.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x03 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 03 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x07D00 (32000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 00 7D 00 .$.......}. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0084 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x84 (132 bytes per packet) +bInterval : 0x04 (4 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 84 00 04 00 00 ......... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x04 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 04 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x0BB80 (48000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 BB 00 .$......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x00C4 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0xC4 (196 bytes per packet) +bInterval : 0x04 (4 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 C4 00 04 00 00 ......... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ----------------- Device Qualifier Descriptor ----------------- +bLength : 0x0A (10 bytes) +bDescriptorType : 0x06 (Device_qualifier Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 Bytes) +bNumConfigurations : 0x01 (1 other-speed configuration) +bReserved : 0x00 +Data (HexDump) : 0A 06 00 02 EF 02 01 40 01 00 .......@.. + + ------------ Other Speed Configuration Descriptor ------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x07 (Other_speed_configuration Descriptor) +wTotalLength : 0x04DE (1246 bytes) +bNumInterfaces : 0x04 (4 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x00 (No String Descriptor) +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 07 DE 04 04 01 00 80 FA 08 0B 00 02 0E 03 00 ................ + 00 09 04 00 00 01 0E 01 00 00 0D 24 01 00 01 A0 ...........$.... + 00 00 6C DC 02 01 01 12 24 02 01 01 02 00 00 00 ..l.....$....... + 00 00 00 00 00 03 0E 00 00 0B 24 05 02 01 00 40 ..........$....@ + 02 5B 17 00 1B 24 06 03 E4 8E 67 69 0F 41 DB 40 .[...$....gi.A.@ + A8 50 74 20 D7 D8 24 0E 08 01 02 02 3F 03 00 1B .Pt ..$.....?... + 24 06 04 15 02 E4 49 34 F4 FE 47 B1 58 0E 88 50 $.....I4..G.X..P + 23 E5 1B 03 01 02 02 09 01 00 1C 24 06 06 A9 4C #..........$...L + 5D 1F 11 DE 87 44 84 0D 50 93 3C 8E C8 D1 12 01 ]....D..P.<..... + 04 03 FF FF 03 00 1B 24 06 07 21 2D E5 FF 30 80 .......$..!-..0. + 2C 4E 82 D9 F5 87 D0 05 40 BD 02 01 04 02 00 03 ,N......@....... + 00 09 24 03 05 01 01 00 04 00 07 05 87 03 10 00 ..$............. + 10 05 25 03 10 00 09 04 01 00 00 0E 02 00 00 10 ..%............. + 24 01 03 C2 02 81 00 05 01 00 00 01 00 04 04 1B $............... + 24 04 01 02 59 55 59 32 00 00 10 00 80 00 00 AA $...YUY2........ + 00 38 9B 71 10 02 00 00 00 00 26 24 05 02 01 A0 .8.q......&$.... + 00 78 00 00 70 17 00 00 50 46 00 00 96 00 00 2A .x..p...PF.....* + 2C 0A 00 03 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 ,...*,..@B...... + 26 24 05 03 01 B0 00 90 00 00 F0 1E 00 00 D0 5C &$.............\ + 00 00 C6 00 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 06 24 0D 01 01 04 0B 24 06 02 .......$.....$.. + 0C 01 01 00 00 00 00 32 24 07 01 01 80 02 E0 01 .......2$....... + 00 00 77 01 00 00 CA 08 00 60 09 00 15 16 05 00 ..w......`...... + 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A ......... ...*,. + 00 40 42 0F 00 80 84 1E 00 32 24 07 02 01 A0 00 .@B......2$..... + 78 00 00 70 17 00 00 A0 8C 00 00 96 00 00 15 16 x..p............ + 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A ........... ...* + 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 03 01 ,..@B......2$... + B0 00 90 00 00 F0 1E 00 00 A0 B9 00 00 C6 00 00 ................ + 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 07 .*,..@B......2$. + 04 01 40 01 B0 00 00 C0 44 00 00 80 9C 01 00 B8 ..@.....D....... + 01 00 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 ............... + A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 32 ...*,..@B......2 + 24 07 05 01 40 01 F0 00 00 C0 5D 00 00 80 32 02 $...@.....]...2. + 00 58 02 00 15 16 05 00 06 15 16 05 00 80 1A 06 .X.............. + 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E . ...*,..@B..... + 00 32 24 07 06 01 60 01 20 01 00 C0 7B 00 00 80 .2$...`. ...{... + E6 02 00 18 03 00 15 16 05 00 06 15 16 05 00 80 ................ + 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 ... ...*,..@B... + 84 1E 00 32 24 07 07 01 B0 01 F0 00 00 90 7E 00 ...2$.........~. + 00 60 F7 02 00 2A 03 00 15 16 05 00 06 15 16 05 .`...*.......... + 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F ..... ...*,..@B. + 00 80 84 1E 00 32 24 07 08 01 20 02 20 01 00 40 .....2$... . ..@ + BF 00 00 80 7B 04 00 C8 04 00 15 16 05 00 06 15 ....{........... + 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 ....... ...*,..@ + 42 0F 00 80 84 1E 00 32 24 07 09 01 80 02 68 01 B......2$.....h. + 00 40 19 01 00 80 97 06 00 08 07 00 15 16 05 00 .@.............. + 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A ......... ...*,. + 00 40 42 0F 00 80 84 1E 00 26 24 07 0A 01 F0 02 .@B......&$..... + A0 01 00 E0 7D 01 00 A0 79 04 00 8C 09 00 2A 2C ....}...y.....*, + 0A 00 03 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 26 ...*,..@B......& + 24 07 0B 01 20 03 C0 01 00 80 B5 01 00 80 20 05 $... ......... . + 00 F0 0A 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 0F ....*,...*,..@B. + 00 80 84 1E 00 26 24 07 0C 01 20 03 58 02 00 F0 .....&$... .X... + 49 02 00 D0 DD 06 00 A6 0E 00 2A 2C 0A 00 03 2A I.........*,...* + 2C 0A 00 40 42 0F 00 80 84 1E 00 06 24 0D 01 01 ,..@B.......$... + 04 09 04 01 01 01 0E 02 00 00 07 05 81 05 C0 00 ................ + 01 09 04 01 02 01 0E 02 00 00 07 05 81 05 80 01 ................ + 01 09 04 01 03 01 0E 02 00 00 07 05 81 05 00 02 ................ + 01 09 04 01 04 01 0E 02 00 00 07 05 81 05 80 02 ................ + 01 09 04 01 05 01 0E 02 00 00 07 05 81 05 20 03 .............. . + 01 09 04 01 06 01 0E 02 00 00 07 05 81 05 B0 03 ................ + 01 08 0B 02 02 01 02 00 00 09 04 02 00 00 01 01 ................ + 00 00 09 24 01 00 01 26 00 01 03 0C 24 02 01 01 ...$...&....$... + 02 00 01 00 00 00 00 09 24 03 03 01 01 01 05 00 ........$....... + 09 24 06 05 01 01 03 00 00 09 04 03 00 00 01 02 .$.............. + 00 00 09 04 03 01 01 01 02 00 00 07 24 01 03 01 ............$... + 01 00 0B 24 02 01 01 02 10 01 80 3E 00 09 05 86 ...$.......>.... + 05 44 00 01 00 00 07 25 01 01 00 00 00 09 04 03 .D.....%........ + 02 01 01 02 00 00 07 24 01 03 01 01 00 0B 24 02 .......$......$. + 01 01 02 10 01 C0 5D 00 09 05 86 05 64 00 01 00 ......].....d... + 00 07 25 01 01 00 00 00 09 04 03 03 01 01 02 00 ..%............. + 00 07 24 01 03 01 01 00 0B 24 02 01 01 02 10 01 ..$......$...... + 00 7D 00 09 05 86 05 84 00 01 00 00 07 25 01 01 .}...........%.. + 00 00 00 09 04 03 04 01 01 02 00 00 07 24 01 03 .............$.. + 01 01 00 0B 24 02 01 01 02 10 01 80 BB 00 09 05 ....$........... + 86 05 C4 00 01 00 00 07 25 01 01 00 00 00 ........%..... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x00 (No String Descriptor) +Data (HexDump) : 08 0B 00 02 0E 03 00 00 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 00 00 01 0E 01 00 00 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x00A0 (160 bytes) +dwClockFreq : 0x02DC6C00 (48 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 00 01 A0 00 00 6C DC 02 01 01 .$......l.... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x0E, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 1 yes - Auto-Exposure Mode + D2 : 1 yes - Auto-Exposure Priority + D3 : 1 yes - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 0E .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x02 +bSourceID : 0x01 +wMaxMultiplier : 0x4000 (163.84x Zoom) +bControlSize : 0x02 +bmControls : 0x5B, 0x17 + D0 : 1 yes - Brightness + D1 : 1 yes - Contrast + D2 : 0 no - Hue + D3 : 1 yes - Saturation + D4 : 1 yes - Sharpness + D5 : 0 no - Gamma + D6 : 1 yes - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 1 yes - Backlight Compensation + D9 : 1 yes - Gain + D10 : 1 yes - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 1 yes - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +Data (HexDump) : 0B 24 05 02 01 00 40 02 5B 17 00 .$....@.[.. + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x03 +guidExtensionCode : {69678EE4-410F-40DB-A850-7420D7D8240E} +bNumControls : 0x08 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x02 +bmControls : 0x3F, 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 1 yes - Vendor-Specific (Optional) + D4 : 1 yes - Vendor-Specific (Optional) + D5 : 1 yes - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 1 yes - Vendor-Specific (Optional) + D10 : 0 no - Vendor-Specific (Optional) + D11 : 0 no - Vendor-Specific (Optional) + D12 : 0 no - Vendor-Specific (Optional) + D13 : 0 no - Vendor-Specific (Optional) + D14 : 0 no - Vendor-Specific (Optional) + D15 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1B 24 06 03 E4 8E 67 69 0F 41 DB 40 A8 50 74 20 .$....gi.A.@.Pt + D7 D8 24 0E 08 01 02 02 3F 03 00 ..$.....?.. + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x04 +guidExtensionCode : {49E40215-F434-47FE-B158-0E885023E51B} +bNumControls : 0x03 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x02 +bControlSize : 0x02 +bmControls : 0x09, 0x01 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 0 no - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 1 yes - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 0 no - Vendor-Specific (Optional) + D10 : 0 no - Vendor-Specific (Optional) + D11 : 0 no - Vendor-Specific (Optional) + D12 : 0 no - Vendor-Specific (Optional) + D13 : 0 no - Vendor-Specific (Optional) + D14 : 0 no - Vendor-Specific (Optional) + D15 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1B 24 06 04 15 02 E4 49 34 F4 FE 47 B1 58 0E 88 .$.....I4..G.X.. + 50 23 E5 1B 03 01 02 02 09 01 00 P#......... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1C (28 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x06 +guidExtensionCode : {1F5D4CA9-DE11-4487-840D-50933C8EC8D1} +bNumControls : 0x12 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x04 +bControlSize : 0x03 +bmControls : 0xFF, 0xFF, 0x03 + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 1 yes - Vendor-Specific (Optional) + D4 : 1 yes - Vendor-Specific (Optional) + D5 : 1 yes - Vendor-Specific (Optional) + D6 : 1 yes - Vendor-Specific (Optional) + D7 : 1 yes - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 1 yes - Vendor-Specific (Optional) + D10 : 1 yes - Vendor-Specific (Optional) + D11 : 1 yes - Vendor-Specific (Optional) + D12 : 1 yes - Vendor-Specific (Optional) + D13 : 1 yes - Vendor-Specific (Optional) + D14 : 1 yes - Vendor-Specific (Optional) + D15 : 1 yes - Vendor-Specific (Optional) + D16 : 1 yes - Vendor-Specific (Optional) + D17 : 1 yes - Vendor-Specific (Optional) + D18 : 0 no - Vendor-Specific (Optional) + D19 : 0 no - Vendor-Specific (Optional) + D20 : 0 no - Vendor-Specific (Optional) + D21 : 0 no - Vendor-Specific (Optional) + D22 : 0 no - Vendor-Specific (Optional) + D23 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1C 24 06 06 A9 4C 5D 1F 11 DE 87 44 84 0D 50 93 .$...L]....D..P. + 3C 8E C8 D1 12 01 04 03 FF FF 03 00 <........... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x07 +guidExtensionCode : {FFE52D21-8030-4E2C-82D9-F587D00540BD} +bNumControls : 0x02 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x04 +bControlSize : 0x02 +bmControls : 0x00, 0x03 + D0 : 0 no - Vendor-Specific (Optional) + D1 : 0 no - Vendor-Specific (Optional) + D2 : 0 no - Vendor-Specific (Optional) + D3 : 0 no - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) + D8 : 1 yes - Vendor-Specific (Optional) + D9 : 1 yes - Vendor-Specific (Optional) + D10 : 0 no - Vendor-Specific (Optional) + D11 : 0 no - Vendor-Specific (Optional) + D12 : 0 no - Vendor-Specific (Optional) + D13 : 0 no - Vendor-Specific (Optional) + D14 : 0 no - Vendor-Specific (Optional) + D15 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1B 24 06 07 21 2D E5 FF 30 80 2C 4E 82 D9 F5 87 .$..!-..0.,N.... + D0 05 40 BD 02 01 04 02 00 03 00 ..@........ + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x05 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x04 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 05 01 01 00 04 00 .$....... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x87 (Direction=IN EndpointID=7) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0010 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x10 (16 bytes per packet) +bInterval : 0x10 (16 ms) +Data (HexDump) : 07 05 87 03 10 00 10 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0010 (16 bytes) +Data (HexDump) : 05 25 03 10 00 .%... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 00 00 0E 02 00 00 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x10 (16 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x03 +wTotalLength : 0x02C2 (706 bytes) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x05 +bStillCaptureMethod : 0x01 (Still Capture Method 1) +nbTriggerSupport : 0x00 (Hardware Triggering not supported) +bTriggerUsage : 0x00 (Host will initiate still image capture) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 2 : 0x04 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 1 yes - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Video Payload Format 3 : 0x04 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 1 yes - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 10 24 01 03 C2 02 81 00 05 01 00 00 01 00 04 04 .$.............. + + ------- VS Uncompressed Format Type Descriptor -------- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x04 (Uncompressed Format Type) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x02 (2) +guidFormat : {32595559-0000-0010-8000-00AA00389B71} (YUY2) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x02 (2) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 1B 24 04 01 02 59 55 59 32 00 00 10 00 80 00 00 .$...YUY2....... + AA 00 38 9B 71 10 02 00 00 00 00 ..8.q...... + + -------- VS Uncompressed Frame Type Descriptor -------- +---> This is the Default (optimum) Frame index +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x01 +wWidth : 0x00A0 (160) +wHeight : 0x0078 (120) +dwMinBitRate : 0x00177000 (1536000 bps -> 192 KB/s) +dwMaxBitRate : 0x00465000 (4608000 bps -> 576 KB/s) +dwMaxVideoFrameBufferSize: 0x00009600 (38400 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 05 02 01 A0 00 78 00 00 70 17 00 00 50 46 &$.....x..p...PF + 00 00 96 00 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x01 +wWidth : 0x00B0 (176) +wHeight : 0x0090 (144) +dwMinBitRate : 0x001EF000 (2027520 bps -> 253.375 KB/s) +dwMaxBitRate : 0x005CD000 (6082560 bps -> 760.250 KB/s) +dwMaxVideoFrameBufferSize: 0x0000C600 (50688 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 05 03 01 B0 00 90 00 00 F0 1E 00 00 D0 5C &$.............\ + 00 00 C6 00 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ----- Video Streaming MJPEG Format Type Descriptor ---- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x06 (Format MJPEG) +bFormatIndex : 0x02 (2) +bNumFrameDescriptors : 0x0C (12) +bmFlags : 0x01 (Sample size is fixed) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 0B 24 06 02 0C 01 01 00 00 00 00 .$......... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +---> This is the Default (optimum) Frame index +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x01770000 (24576000 bps -> 3.72 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 01 01 80 02 E0 01 00 00 77 01 00 00 CA 2$.........w.... + 08 00 60 09 00 15 16 05 00 06 15 16 05 00 80 1A ..`............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x01 +wWidth : 0x00A0 (160) +wHeight : 0x0078 (120) +dwMinBitRate : 0x00177000 (1536000 bps -> 192 KB/s) +dwMaxBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwMaxVideoFrameBufferSize: 0x00009600 (38400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 02 01 A0 00 78 00 00 70 17 00 00 A0 8C 2$.....x..p..... + 00 00 96 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x01 +wWidth : 0x00B0 (176) +wHeight : 0x0090 (144) +dwMinBitRate : 0x001EF000 (2027520 bps -> 253.375 KB/s) +dwMaxBitRate : 0x00B9A000 (12165120 bps -> 1.520 MB/s) +dwMaxVideoFrameBufferSize: 0x0000C600 (50688 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 03 01 B0 00 90 00 00 F0 1E 00 00 A0 B9 2$.............. + 00 00 C6 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x01 +wWidth : 0x0140 (320) +wHeight : 0x00B0 (176) +dwMinBitRate : 0x0044C000 (4505600 bps -> 563.125 KB/s) +dwMaxBitRate : 0x019C8000 (27033600 bps -> 3.379 MB/s) +dwMaxVideoFrameBufferSize: 0x0001B800 (112640 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 04 01 40 01 B0 00 00 C0 44 00 00 80 9C 2$...@.....D.... + 01 00 B8 01 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x01 +wWidth : 0x0140 (320) +wHeight : 0x00F0 (240) +dwMinBitRate : 0x005DC000 (6144000 bps -> 768 KB/s) +dwMaxBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwMaxVideoFrameBufferSize: 0x00025800 (153600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 05 01 40 01 F0 00 00 C0 5D 00 00 80 32 2$...@.....]...2 + 02 00 58 02 00 15 16 05 00 06 15 16 05 00 80 1A ..X............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x01 +wWidth : 0x0160 (352) +wHeight : 0x0120 (288) +dwMinBitRate : 0x007BC000 (8110080 bps -> 1.13 MB/s) +dwMaxBitRate : 0x02E68000 (48660480 bps -> 6.82 MB/s) +dwMaxVideoFrameBufferSize: 0x00031800 (202752 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 06 01 60 01 20 01 00 C0 7B 00 00 80 E6 2$...`. ...{.... + 02 00 18 03 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x07 +bmCapabilities : 0x01 +wWidth : 0x01B0 (432) +wHeight : 0x00F0 (240) +dwMinBitRate : 0x007E9000 (8294400 bps -> 1.36 MB/s) +dwMaxBitRate : 0x02F76000 (49766400 bps -> 6.220 MB/s) +dwMaxVideoFrameBufferSize: 0x00032A00 (207360 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 07 01 B0 01 F0 00 00 90 7E 00 00 60 F7 2$.........~..`. + 02 00 2A 03 00 15 16 05 00 06 15 16 05 00 80 1A ..*............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x08 +bmCapabilities : 0x01 +wWidth : 0x0220 (544) +wHeight : 0x0120 (288) +dwMinBitRate : 0x00BF4000 (12533760 bps -> 1.566 MB/s) +dwMaxBitRate : 0x047B8000 (75202560 bps -> 9.400 MB/s) +dwMaxVideoFrameBufferSize: 0x0004C800 (313344 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 08 01 20 02 20 01 00 40 BF 00 00 80 7B 2$... . ..@....{ + 04 00 C8 04 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x09 +bmCapabilities : 0x01 +wWidth : 0x0280 (640) +wHeight : 0x0168 (360) +dwMinBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s) +dwMaxBitRate : 0x06978000 (110592000 bps -> 13.824 MB/s) +dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 07 09 01 80 02 68 01 00 40 19 01 00 80 97 2$.....h..@..... + 06 00 08 07 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0A +bmCapabilities : 0x01 +wWidth : 0x02F0 (752) +wHeight : 0x01A0 (416) +dwMinBitRate : 0x017DE000 (25026560 bps -> 3.128 MB/s) +dwMaxBitRate : 0x0479A000 (75079680 bps -> 9.384 MB/s) +dwMaxVideoFrameBufferSize: 0x00098C00 (625664 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 07 0A 01 F0 02 A0 01 00 E0 7D 01 00 A0 79 &$.........}...y + 04 00 8C 09 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0B +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x01C0 (448) +dwMinBitRate : 0x01B58000 (28672000 bps -> 3.584 MB/s) +dwMaxBitRate : 0x05208000 (86016000 bps -> 10.752 MB/s) +dwMaxVideoFrameBufferSize: 0x000AF000 (716800 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 07 0B 01 20 03 C0 01 00 80 B5 01 00 80 20 &$... ......... + 05 00 F0 0A 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + ----- Video Streaming MJPEG Frame Type Descriptor ----- +bLength : 0x26 (38 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x07 (MJPEG Frame Type) +bFrameIndex : 0x0C +bmCapabilities : 0x01 +wWidth : 0x0320 (800) +wHeight : 0x0258 (600) +dwMinBitRate : 0x0249F000 (38400000 bps -> 4.800 MB/s) +dwMaxBitRate : 0x06DDD000 (115200000 bps -> 14.400 MB/s) +dwMaxVideoFrameBufferSize: 0x000EA600 (960000 bytes) +dwDefaultFrameInterval : 0x000A2C2A (66.6666 ms -> 15.000 fps) +bFrameIntervalType : 0x03 (3 discrete frame intervals supported) +adwFrameInterval[1] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[2] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[3] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 26 24 07 0C 01 20 03 58 02 00 F0 49 02 00 D0 DD &$... .X...I.... + 06 00 A6 0E 00 2A 2C 0A 00 03 2A 2C 0A 00 40 42 .....*,...*,..@B + 0F 00 80 84 1E 00 ...... + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 01 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x00C0 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0xC0 (192 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 C0 00 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x02 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 02 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0180 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x180 (384 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 80 01 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x03 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 03 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0200 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x200 (512 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 00 02 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x04 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 04 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0280 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x280 (640 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 80 02 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x05 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 05 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0320 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x320 (800 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 20 03 01 .... .. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x06 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 06 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x03B0 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x3B0 (944 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 B0 03 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x02 +bFunctionClass : 0x01 (Audio) +bFunctionSubClass : 0x02 (Audio Streaming) +bFunctionProtocol : 0x00 +iFunction : 0x00 (No String Descriptor) +Data (HexDump) : 08 0B 02 02 01 02 00 00 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x01 (Audio Control) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 02 00 00 01 01 00 00 ......... + + ------ Audio Control Interface Header Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 (Header) +bcdADC : 0x0100 +wTotalLength : 0x0026 (38 bytes) +bInCollection : 0x01 +baInterfaceNr[1] : 0x03 +Data (HexDump) : 09 24 01 00 01 26 00 01 03 .$...&... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (Microphone) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0000 (-) +iChannelNames : 0x00 (No String Descriptor) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 0C 24 02 01 01 02 00 01 00 00 00 00 .$.......... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x01 (1) +bSourceID : 0x05 (5) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 03 03 01 01 01 05 00 .$....... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x05 (5) +bSourceID : 0x01 (1) +bControlSize : 0x01 (1 byte per control) +bmaControls[0] : 0x03 + D0: Mute : 1 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +bmaControls[1] : 0x00 + D0: Mute : 0 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 +iFeature : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 06 05 01 01 03 00 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 00 00 01 02 00 00 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 01 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x03E80 (16000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 3E 00 .$.......>. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0044 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x44 (68 bytes per packet) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 44 00 01 00 00 ....D.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x02 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 02 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x05DC0 (24000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 C0 5D 00 .$.......]. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0064 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x64 (100 bytes per packet) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 64 00 01 00 00 ....d.... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x03 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 03 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x07D00 (32000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 00 7D 00 .$.......}. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0084 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x84 (132 bytes per packet) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 84 00 01 00 00 ......... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x04 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 04 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x01 (supports 1 sample frequency) +tSamFreq[1] : 0x0BB80 (48000 Hz) +Data (HexDump) : 0B 24 02 01 01 02 10 01 80 BB 00 .$......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x86 (Direction=IN EndpointID=6) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x00C4 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0xC4 (196 bytes per packet) +bInterval : 0x01 (1 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 86 05 C4 00 01 00 00 ......... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + -------------------- String Descriptors ------------------- + ------ String Descriptor 0 ------ +bLength : 0x04 (4 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language ID[0] : 0x0409 (English - United States) +Data (HexDump) : 04 03 09 04 .... + ------ String Descriptor 2 ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "E190CC90" +Data (HexDump) : 12 03 45 00 31 00 39 00 30 00 43 00 43 00 39 00 ..E.1.9.0.C.C.9. + 30 00 0. +*/ + +namespace logitech_c270 { +const uint8_t dev_desc[] = { + 0x12, 0x01, 0x00, 0x02, 0xEF, 0x02, 0x01, 0x40, 0x6D, 0x04, 0x25, 0x08, 0x12, 0x00, 0x00, 0x00, + 0x02, 0x01 +}; +const uint8_t cfg_desc[] = { + 0x09, 0x02, 0xA2, 0x09, 0x04, 0x01, 0x00, 0x80, 0xFA, 0x08, 0x0B, 0x00, 0x02, 0x0E, 0x03, 0x00, + 0x00, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0E, 0x01, 0x00, 0x00, 0x0D, 0x24, 0x01, 0x00, 0x01, 0xA0, + 0x00, 0x00, 0x6C, 0xDC, 0x02, 0x01, 0x01, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0E, 0x00, 0x00, 0x0B, 0x24, 0x05, 0x02, 0x01, 0x00, 0x40, + 0x02, 0x5B, 0x17, 0x00, 0x1B, 0x24, 0x06, 0x03, 0xE4, 0x8E, 0x67, 0x69, 0x0F, 0x41, 0xDB, 0x40, + 0xA8, 0x50, 0x74, 0x20, 0xD7, 0xD8, 0x24, 0x0E, 0x08, 0x01, 0x02, 0x02, 0x3F, 0x03, 0x00, 0x1B, + 0x24, 0x06, 0x04, 0x15, 0x02, 0xE4, 0x49, 0x34, 0xF4, 0xFE, 0x47, 0xB1, 0x58, 0x0E, 0x88, 0x50, + 0x23, 0xE5, 0x1B, 0x03, 0x01, 0x02, 0x02, 0x09, 0x01, 0x00, 0x1C, 0x24, 0x06, 0x06, 0xA9, 0x4C, + 0x5D, 0x1F, 0x11, 0xDE, 0x87, 0x44, 0x84, 0x0D, 0x50, 0x93, 0x3C, 0x8E, 0xC8, 0xD1, 0x12, 0x01, + 0x04, 0x03, 0xFF, 0xFF, 0x03, 0x00, 0x1B, 0x24, 0x06, 0x07, 0x21, 0x2D, 0xE5, 0xFF, 0x30, 0x80, + 0x2C, 0x4E, 0x82, 0xD9, 0xF5, 0x87, 0xD0, 0x05, 0x40, 0xBD, 0x02, 0x01, 0x04, 0x02, 0x00, 0x03, + 0x00, 0x09, 0x24, 0x03, 0x05, 0x01, 0x01, 0x00, 0x04, 0x00, 0x07, 0x05, 0x87, 0x03, 0x10, 0x00, + 0x08, 0x05, 0x25, 0x03, 0x10, 0x00, 0x09, 0x04, 0x01, 0x00, 0x00, 0x0E, 0x02, 0x00, 0x00, 0x10, + 0x24, 0x01, 0x03, 0x36, 0x07, 0x81, 0x00, 0x05, 0x01, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04, 0x1B, + 0x24, 0x04, 0x01, 0x13, 0x59, 0x55, 0x59, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, + 0x00, 0x38, 0x9B, 0x71, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x32, 0x24, 0x05, 0x01, 0x01, 0x80, + 0x02, 0xE0, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xCA, 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, + 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, + 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x02, + 0x01, 0xA0, 0x00, 0x78, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xA0, 0x8C, 0x00, 0x00, 0x96, 0x00, + 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, + 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, + 0x05, 0x03, 0x01, 0xB0, 0x00, 0x90, 0x00, 0x00, 0xF0, 0x1E, 0x00, 0x00, 0xA0, 0xB9, 0x00, 0x00, + 0xC6, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, + 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, + 0x32, 0x24, 0x05, 0x04, 0x01, 0x40, 0x01, 0xB0, 0x00, 0x00, 0xC0, 0x44, 0x00, 0x00, 0x80, 0x9C, + 0x01, 0x00, 0xB8, 0x01, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, + 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, + 0x1E, 0x00, 0x32, 0x24, 0x05, 0x05, 0x01, 0x40, 0x01, 0xF0, 0x00, 0x00, 0xC0, 0x5D, 0x00, 0x00, + 0x80, 0x32, 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, + 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, + 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x06, 0x01, 0x60, 0x01, 0x20, 0x01, 0x00, 0xC0, 0x7B, + 0x00, 0x00, 0x80, 0xE6, 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, + 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, + 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x07, 0x01, 0xB0, 0x01, 0xF0, 0x00, 0x00, + 0x90, 0x7E, 0x00, 0x00, 0x60, 0xF7, 0x02, 0x00, 0x2A, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, + 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, + 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x08, 0x01, 0x20, 0x02, 0x20, + 0x01, 0x00, 0x40, 0xBF, 0x00, 0x00, 0x80, 0x7B, 0x04, 0x00, 0xC8, 0x04, 0x00, 0x15, 0x16, 0x05, + 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, + 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x09, 0x01, 0x80, + 0x02, 0x68, 0x01, 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x97, 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, + 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, + 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x2E, 0x24, 0x05, 0x0A, + 0x01, 0xF0, 0x02, 0xA0, 0x01, 0x00, 0xE0, 0x7D, 0x01, 0x00, 0x60, 0x75, 0x07, 0x00, 0x8C, 0x09, + 0x00, 0x80, 0x1A, 0x06, 0x00, 0x05, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, + 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x2A, 0x24, 0x05, 0x0B, 0x01, 0x20, + 0x03, 0xC0, 0x01, 0x00, 0x80, 0xB5, 0x01, 0x00, 0x00, 0xD6, 0x06, 0x00, 0xF0, 0x0A, 0x00, 0x20, + 0xA1, 0x07, 0x00, 0x04, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, + 0x80, 0x84, 0x1E, 0x00, 0x2A, 0x24, 0x05, 0x0C, 0x01, 0x20, 0x03, 0x58, 0x02, 0x00, 0xF0, 0x49, + 0x02, 0x00, 0xC0, 0x27, 0x09, 0x00, 0xA6, 0x0E, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x04, 0x20, 0xA1, + 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x2A, 0x24, + 0x05, 0x0D, 0x01, 0x60, 0x03, 0xE0, 0x01, 0x00, 0x40, 0xFA, 0x01, 0x00, 0x00, 0xE9, 0x07, 0x00, + 0xA8, 0x0C, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x04, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, + 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x26, 0x24, 0x05, 0x0E, 0x01, 0xC0, 0x03, 0x20, + 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0x78, 0x07, 0x00, 0xF0, 0x0F, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x03, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x22, 0x24, + 0x05, 0x0F, 0x01, 0xC0, 0x03, 0xD0, 0x02, 0x00, 0xC0, 0x4B, 0x03, 0x00, 0x80, 0x97, 0x06, 0x00, + 0x18, 0x15, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x02, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, + 0x22, 0x24, 0x05, 0x10, 0x01, 0x00, 0x04, 0x40, 0x02, 0x00, 0x00, 0xD0, 0x02, 0x00, 0x00, 0xA0, + 0x05, 0x00, 0x00, 0x12, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x02, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, + 0x1E, 0x00, 0x22, 0x24, 0x05, 0x11, 0x01, 0xA0, 0x04, 0x90, 0x02, 0x00, 0x20, 0xB4, 0x03, 0x00, + 0x40, 0x68, 0x07, 0x00, 0xB4, 0x17, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x02, 0x40, 0x42, 0x0F, 0x00, + 0x80, 0x84, 0x1E, 0x00, 0x22, 0x24, 0x05, 0x12, 0x01, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x00, 0x65, + 0x04, 0x00, 0x00, 0xCA, 0x08, 0x00, 0x20, 0x1C, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x02, 0x55, 0x58, + 0x14, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x22, 0x24, 0x05, 0x13, 0x01, 0x00, 0x05, 0xC0, 0x03, 0x00, + 0x00, 0xDC, 0x05, 0x00, 0x00, 0xB8, 0x0B, 0x00, 0x80, 0x25, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x02, + 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, 0x0B, 0x24, + 0x06, 0x02, 0x13, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x32, 0x24, 0x07, 0x01, 0x01, 0x80, 0x02, + 0xE0, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xCA, 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x02, 0x01, + 0xA0, 0x00, 0x78, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xA0, 0x8C, 0x00, 0x00, 0x96, 0x00, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, + 0x03, 0x01, 0xB0, 0x00, 0x90, 0x00, 0x00, 0xF0, 0x1E, 0x00, 0x00, 0xA0, 0xB9, 0x00, 0x00, 0xC6, + 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, + 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, + 0x24, 0x07, 0x04, 0x01, 0x40, 0x01, 0xB0, 0x00, 0x00, 0xC0, 0x44, 0x00, 0x00, 0x80, 0x9C, 0x01, + 0x00, 0xB8, 0x01, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, + 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, + 0x00, 0x32, 0x24, 0x07, 0x05, 0x01, 0x40, 0x01, 0xF0, 0x00, 0x00, 0xC0, 0x5D, 0x00, 0x00, 0x80, + 0x32, 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, + 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, + 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x06, 0x01, 0x60, 0x01, 0x20, 0x01, 0x00, 0xC0, 0x7B, 0x00, + 0x00, 0x80, 0xE6, 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, + 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, + 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x07, 0x01, 0xB0, 0x01, 0xF0, 0x00, 0x00, 0x90, + 0x7E, 0x00, 0x00, 0x60, 0xF7, 0x02, 0x00, 0x2A, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, + 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, + 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x08, 0x01, 0x20, 0x02, 0x20, 0x01, + 0x00, 0x40, 0xBF, 0x00, 0x00, 0x80, 0x7B, 0x04, 0x00, 0xC8, 0x04, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x09, 0x01, 0x80, 0x02, + 0x68, 0x01, 0x00, 0x40, 0x19, 0x01, 0x00, 0x80, 0x97, 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x0A, 0x01, + 0xF0, 0x02, 0xA0, 0x01, 0x00, 0xE0, 0x7D, 0x01, 0x00, 0x40, 0xF3, 0x08, 0x00, 0x8C, 0x09, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, + 0x0B, 0x01, 0x20, 0x03, 0xC0, 0x01, 0x00, 0x80, 0xB5, 0x01, 0x00, 0x00, 0x41, 0x0A, 0x00, 0xF0, + 0x0A, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, + 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, + 0x24, 0x07, 0x0C, 0x01, 0x20, 0x03, 0x58, 0x02, 0x00, 0xF0, 0x49, 0x02, 0x00, 0xA0, 0xBB, 0x0D, + 0x00, 0xA6, 0x0E, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, + 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, + 0x00, 0x32, 0x24, 0x07, 0x0D, 0x01, 0x60, 0x03, 0xE0, 0x01, 0x00, 0x40, 0xFA, 0x01, 0x00, 0x80, + 0xDD, 0x0B, 0x00, 0xA8, 0x0C, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, + 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, + 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x0E, 0x01, 0xC0, 0x03, 0x20, 0x02, 0x00, 0x80, 0x7D, 0x02, + 0x00, 0x00, 0xF1, 0x0E, 0x00, 0xF0, 0x0F, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, + 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, + 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x0F, 0x01, 0xC0, 0x03, 0xD0, 0x02, 0x00, 0xC0, + 0x4B, 0x03, 0x00, 0x80, 0xC6, 0x13, 0x00, 0x18, 0x15, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, + 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, + 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x10, 0x01, 0x00, 0x04, 0x40, 0x02, + 0x00, 0x00, 0xD0, 0x02, 0x00, 0x00, 0xE0, 0x10, 0x00, 0x00, 0x12, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x11, 0x01, 0xA0, 0x04, + 0x90, 0x02, 0x00, 0x20, 0xB4, 0x03, 0x00, 0xC0, 0x38, 0x16, 0x00, 0xB4, 0x17, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, 0x12, 0x01, + 0x00, 0x05, 0xD0, 0x02, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0x5E, 0x1A, 0x00, 0x20, 0x1C, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x07, + 0x13, 0x01, 0x00, 0x05, 0xC0, 0x03, 0x00, 0x00, 0xDC, 0x05, 0x00, 0x00, 0x28, 0x23, 0x00, 0x80, + 0x25, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, + 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x06, + 0x24, 0x0D, 0x01, 0x01, 0x04, 0x09, 0x04, 0x01, 0x01, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0xC0, 0x00, 0x01, 0x09, 0x04, 0x01, 0x02, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0x80, 0x01, 0x01, 0x09, 0x04, 0x01, 0x03, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0x00, 0x02, 0x01, 0x09, 0x04, 0x01, 0x04, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0x80, 0x02, 0x01, 0x09, 0x04, 0x01, 0x05, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0x20, 0x03, 0x01, 0x09, 0x04, 0x01, 0x06, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0xB0, 0x03, 0x01, 0x09, 0x04, 0x01, 0x07, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0x80, 0x0A, 0x01, 0x09, 0x04, 0x01, 0x08, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0x20, 0x0B, 0x01, 0x09, 0x04, 0x01, 0x09, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0xE0, 0x0B, 0x01, 0x09, 0x04, 0x01, 0x0A, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0x80, 0x13, 0x01, 0x09, 0x04, 0x01, 0x0B, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, + 0x81, 0x05, 0xFC, 0x13, 0x01, 0x08, 0x0B, 0x02, 0x02, 0x01, 0x02, 0x00, 0x00, 0x09, 0x04, 0x02, + 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, 0x24, 0x01, 0x00, 0x01, 0x26, 0x00, 0x01, 0x03, 0x0C, + 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x09, 0x24, 0x03, 0x03, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x09, 0x24, 0x06, 0x05, 0x01, 0x01, 0x03, 0x00, 0x00, 0x09, 0x04, 0x03, + 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x09, 0x04, 0x03, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, + 0x24, 0x01, 0x03, 0x01, 0x01, 0x00, 0x0B, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 0x80, 0x3E, + 0x00, 0x09, 0x05, 0x86, 0x05, 0x44, 0x00, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x09, 0x04, 0x03, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, + 0x00, 0x0B, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 0xC0, 0x5D, 0x00, 0x09, 0x05, 0x86, 0x05, + 0x64, 0x00, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00, 0x09, 0x04, 0x03, 0x03, + 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00, 0x0B, 0x24, 0x02, 0x01, + 0x01, 0x02, 0x10, 0x01, 0x00, 0x7D, 0x00, 0x09, 0x05, 0x86, 0x05, 0x84, 0x00, 0x04, 0x00, 0x00, + 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00, 0x09, 0x04, 0x03, 0x04, 0x01, 0x01, 0x02, 0x00, 0x00, + 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00, 0x0B, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 0x80, + 0xBB, 0x00, 0x09, 0x05, 0x86, 0x05, 0xC4, 0x00, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, + 0x00, 0x00 +}; +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/old.hpp b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/old.hpp new file mode 100644 index 00000000..d3ac84e8 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/old.hpp @@ -0,0 +1,139 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include + +// Descriptors from UVC driver version 1 +// TODO check and test this +namespace old_cameras { +const uint8_t CANYON_CNE_CWC2[] = { + 0x09, 0x02, 0x7d, 0x02, 0x04, 0x01, 0x00, 0x80, 0xfa, 0x08, 0x0b, 0x00, 0x02, 0x0e, 0x03, 0x00, + 0x05, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0e, 0x01, 0x00, 0x05, 0x0d, 0x24, 0x01, 0x00, 0x01, 0x4d, + 0x00, 0xc0, 0xe1, 0xe4, 0x00, 0x01, 0x01, 0x09, 0x24, 0x03, 0x02, 0x01, 0x01, 0x00, 0x04, 0x00, + 0x1a, 0x24, 0x06, 0x04, 0x70, 0x33, 0xf0, 0x28, 0x11, 0x63, 0x2e, 0x4a, 0xba, 0x2c, 0x68, 0x90, + 0xeb, 0x33, 0x40, 0x16, 0x08, 0x01, 0x03, 0x01, 0x0f, 0x00, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0e, 0x20, 0x00, 0x0b, 0x24, 0x05, 0x03, + 0x01, 0x00, 0x00, 0x02, 0x3f, 0x04, 0x00, 0x07, 0x05, 0x83, 0x03, 0x10, 0x00, 0x06, 0x05, 0x25, + 0x03, 0x10, 0x00, 0x09, 0x04, 0x01, 0x00, 0x00, 0x0e, 0x02, 0x00, 0x05, 0x0e, 0x24, 0x01, 0x01, + 0x33, 0x01, 0x81, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x0b, 0x24, 0x06, 0x01, 0x05, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x32, 0x24, 0x07, 0x01, 0x00, 0x80, 0x02, 0xe0, 0x01, 0x00, 0x00, + 0x77, 0x01, 0x00, 0x00, 0xca, 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, + 0x16, 0x05, 0x00, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, + 0x42, 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x32, 0x24, 0x07, 0x02, 0x00, 0x60, 0x01, 0x20, 0x01, + 0x00, 0xc0, 0x7b, 0x00, 0x00, 0x80, 0xe6, 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 0x0a, + 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x32, 0x24, 0x07, 0x03, 0x00, 0x40, 0x01, + 0xf0, 0x00, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x80, 0x32, 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, + 0x2c, 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x32, 0x24, 0x07, 0x04, 0x00, + 0xb0, 0x00, 0x90, 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0xa0, 0xb9, 0x00, 0x00, 0xc6, 0x00, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 0x06, 0x00, 0x20, 0xa1, 0x07, + 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x32, 0x24, 0x07, + 0x05, 0x00, 0xa0, 0x00, 0x78, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xa0, 0x8c, 0x00, 0x00, 0x96, + 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1a, 0x06, 0x00, 0x20, + 0xa1, 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x1a, + 0x24, 0x03, 0x00, 0x05, 0x80, 0x02, 0xe0, 0x01, 0x60, 0x01, 0x20, 0x01, 0x40, 0x01, 0xf0, 0x00, + 0xb0, 0x00, 0x90, 0x00, 0xa0, 0x00, 0x78, 0x00, 0x00, 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04, 0x09, + 0x04, 0x01, 0x01, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x80, 0x00, 0x01, 0x09, + 0x04, 0x01, 0x02, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x01, 0x01, 0x09, + 0x04, 0x01, 0x03, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x02, 0x01, 0x09, + 0x04, 0x01, 0x04, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x58, 0x02, 0x01, 0x09, + 0x04, 0x01, 0x05, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x03, 0x01, 0x09, + 0x04, 0x01, 0x06, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0xbc, 0x03, 0x01, 0x08, + 0x0b, 0x02, 0x02, 0x01, 0x00, 0x00, 0x04, 0x09, 0x04, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x04, + 0x09, 0x24, 0x01, 0x00, 0x01, 0x29, 0x00, 0x01, 0x03, 0x0c, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x24, 0x06, 0x02, 0x01, 0x02, 0x01, 0x00, 0x02, 0x00, 0x00, + 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0x01, 0x02, + 0x00, 0x00, 0x09, 0x04, 0x03, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, 0x24, 0x01, 0x03, 0x01, + 0x01, 0x00, 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 0x80, 0x3e, 0x00, 0x09, 0x05, 0x84, + 0x05, 0x20, 0x00, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00, +}; + +const uint8_t Logitech_C980[] = { + 0x09, 0x02, 0x5a, 0x03, 0x05, 0x01, 0x00, 0x80, 0xfa, 0x08, 0x0b, 0x00, 0x02, 0x0e, 0x03, 0x00, + 0x00, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0e, 0x01, 0x00, 0x00, 0x0d, 0x24, 0x01, 0x00, 0x01, 0xd8, + 0x00, 0x80, 0xc3, 0xc9, 0x01, 0x01, 0x01, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2e, 0x2a, 0x02, 0x0b, 0x24, 0x05, 0x03, 0x01, 0x00, 0x40, + 0x02, 0x5b, 0x17, 0x00, 0x1b, 0x24, 0x06, 0x0e, 0x6a, 0xd1, 0x49, 0x2c, 0xb8, 0x32, 0x85, 0x44, + 0x3e, 0xa8, 0x64, 0x3a, 0x15, 0x23, 0x62, 0xf2, 0x06, 0x01, 0x03, 0x02, 0x3f, 0x00, 0x00, 0x1b, + 0x24, 0x06, 0x06, 0xd0, 0x9e, 0xe4, 0x23, 0x78, 0x11, 0x31, 0x4f, 0xae, 0x52, 0xd2, 0xfb, 0x8a, + 0x8d, 0x3b, 0x48, 0x0e, 0x01, 0x03, 0x02, 0xff, 0x6f, 0x00, 0x1b, 0x24, 0x06, 0x08, 0xe4, 0x8e, + 0x67, 0x69, 0x0f, 0x41, 0xdb, 0x40, 0xa8, 0x50, 0x74, 0x20, 0xd7, 0xd8, 0x24, 0x0e, 0x08, 0x01, + 0x03, 0x02, 0x3f, 0x0f, 0x00, 0x1c, 0x24, 0x06, 0x09, 0xa9, 0x4c, 0x5d, 0x1f, 0x11, 0xde, 0x87, + 0x44, 0x84, 0x0d, 0x50, 0x93, 0x3c, 0x8e, 0xc8, 0xd1, 0x12, 0x01, 0x03, 0x03, 0xff, 0xff, 0x03, + 0x00, 0x1c, 0x24, 0x06, 0x0a, 0x15, 0x02, 0xe4, 0x49, 0x34, 0xf4, 0xfe, 0x47, 0xb1, 0x58, 0x0e, + 0x88, 0x50, 0x23, 0xe5, 0x1b, 0x0b, 0x01, 0x03, 0x03, 0xfa, 0xff, 0x01, 0x00, 0x1c, 0x24, 0x06, + 0x0b, 0x21, 0x2d, 0xe5, 0xff, 0x30, 0x80, 0x2c, 0x4e, 0x82, 0xd9, 0xf5, 0x87, 0xd0, 0x05, 0x40, + 0xbd, 0x04, 0x01, 0x03, 0x03, 0x00, 0x41, 0x01, 0x00, 0x09, 0x24, 0x03, 0x04, 0x01, 0x01, 0x00, + 0x03, 0x00, 0x07, 0x05, 0x85, 0x03, 0x40, 0x00, 0x10, 0x05, 0x25, 0x03, 0x40, 0x00, 0x09, 0x04, + 0x01, 0x00, 0x00, 0x0e, 0x02, 0x00, 0x00, 0x0f, 0x24, 0x01, 0x02, 0x79, 0x01, 0x81, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x1b, 0x24, 0x04, 0x01, 0x01, 0x59, 0x55, 0x59, 0x32, 0x00, + 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71, 0x10, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x2a, 0x24, 0x05, 0x01, 0x00, 0xb0, 0x00, 0x90, 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0xd0, + 0x5c, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x04, 0x2a, 0x2c, 0x0a, 0x00, 0x40, + 0x42, 0x0f, 0x00, 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x06, 0x24, 0x0d, 0x01, 0x01, + 0x04, 0x0b, 0x24, 0x06, 0x02, 0x05, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x36, 0x24, 0x07, 0x01, + 0x00, 0x80, 0x02, 0xe0, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0xca, 0x08, 0x00, 0x60, 0x09, + 0x00, 0x15, 0x16, 0x05, 0x00, 0x07, 0x15, 0x16, 0x05, 0x00, 0x9a, 0x5b, 0x06, 0x00, 0x20, 0xa1, + 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, + 0x1e, 0x00, 0x36, 0x24, 0x07, 0x02, 0x00, 0xb0, 0x00, 0x90, 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, + 0xa0, 0xb9, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x15, 0x16, 0x05, 0x00, 0x07, 0x15, 0x16, 0x05, 0x00, + 0x9a, 0x5b, 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, + 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x36, 0x24, 0x07, 0x03, 0x00, 0x40, 0x01, 0xf0, + 0x00, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x80, 0x32, 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, 0x05, + 0x00, 0x07, 0x15, 0x16, 0x05, 0x00, 0x9a, 0x5b, 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, + 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x36, 0x24, + 0x07, 0x04, 0x00, 0xa8, 0x01, 0xf0, 0x00, 0x00, 0x38, 0x7c, 0x00, 0x00, 0x50, 0xe9, 0x02, 0x00, + 0x1b, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, 0x07, 0x15, 0x16, 0x05, 0x00, 0x9a, 0x5b, 0x06, 0x00, + 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x55, 0x58, 0x14, 0x00, + 0x80, 0x84, 0x1e, 0x00, 0x36, 0x24, 0x07, 0x05, 0x00, 0x80, 0x02, 0x68, 0x01, 0x00, 0x40, 0x19, + 0x01, 0x00, 0x80, 0x97, 0x06, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, 0x05, 0x00, 0x07, 0x15, 0x16, + 0x05, 0x00, 0x9a, 0x5b, 0x06, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, + 0x0f, 0x00, 0x55, 0x58, 0x14, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04, + 0x09, 0x04, 0x01, 0x01, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0xc0, 0x00, 0x01, + 0x09, 0x04, 0x01, 0x02, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x80, 0x01, 0x01, + 0x09, 0x04, 0x01, 0x03, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x02, 0x01, + 0x09, 0x04, 0x01, 0x04, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x80, 0x02, 0x01, + 0x09, 0x04, 0x01, 0x05, 0x01, 0x0e, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x03, 0x01, + 0x08, 0x0b, 0x02, 0x02, 0x01, 0x02, 0x00, 0x00, 0x09, 0x04, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x09, 0x24, 0x01, 0x00, 0x01, 0x26, 0x00, 0x01, 0x03, 0x0c, 0x24, 0x02, 0x01, 0x01, 0x02, + 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x05, 0x00, 0x08, + 0x24, 0x06, 0x05, 0x01, 0x01, 0x03, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, + 0x09, 0x04, 0x03, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00, + 0x0b, 0x24, 0x02, 0x01, 0x02, 0x02, 0x10, 0x01, 0x80, 0x3e, 0x00, 0x09, 0x05, 0x84, 0x05, 0x44, + 0x00, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00, 0x09, 0x04, 0x04, 0x00, 0x01, + 0x03, 0x00, 0x00, 0x00, 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x6c, 0x00, 0x07, 0x05, 0x87, + 0x03, 0x02, 0x00, 0x06, 0x06, 0x30, 0x00, 0x00, 0x02, 0x00 +}; + +const uint8_t unknown_camera[] = { + 0x09, 0x02, 0x69, 0x01, 0x02, 0x01, 0x00, 0x80, 0xfa, 0x08, 0x0b, 0x00, 0x02, 0x0e, 0x03, 0x00, + 0x05, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0e, 0x01, 0x00, 0x05, 0x0d, 0x24, 0x01, 0x00, 0x01, 0x4d, + 0x00, 0xc0, 0xe1, 0xe4, 0x00, 0x01, 0x01, 0x09, 0x24, 0x03, 0x05, 0x01, 0x01, 0x00, 0x03, 0x00, + 0x1a, 0x24, 0x06, 0x03, 0x70, 0x33, 0xf0, 0x28, 0x11, 0x63, 0x2e, 0x4a, 0xba, 0x2c, 0x68, 0x90, + 0xeb, 0x33, 0x40, 0x16, 0x08, 0x01, 0x02, 0x01, 0x1f, 0x00, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0e, 0x00, 0x00, 0x0b, 0x24, 0x05, 0x02, + 0x01, 0x00, 0x00, 0x02, 0x7f, 0x17, 0x00, 0x07, 0x05, 0x83, 0x03, 0x10, 0x00, 0x06, 0x05, 0x25, + 0x03, 0x10, 0x00, 0x09, 0x04, 0x01, 0x00, 0x00, 0x0e, 0x02, 0x00, 0x05, 0x0f, 0x24, 0x01, 0x02, + 0x8d, 0x00, 0x81, 0x00, 0x05, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x0b, 0x24, 0x06, 0x01, 0x01, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x24, 0x07, 0x01, 0x00, 0x40, 0x01, 0xf0, 0x00, 0x08, + 0x3c, 0x2f, 0x00, 0x30, 0x68, 0x1b, 0x01, 0x4d, 0x2e, 0x01, 0x00, 0x15, 0x16, 0x05, 0x00, 0x05, + 0x15, 0x16, 0x05, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x2a, 0x2c, 0x0a, 0x00, 0x40, 0x42, 0x0f, 0x00, + 0x80, 0x84, 0x1e, 0x00, 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04, 0x1b, 0x24, 0x04, 0x02, 0x01, 0x59, + 0x55, 0x59, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71, 0x10, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x24, 0x05, 0x01, 0x00, 0x40, 0x01, 0xf0, 0x00, 0x00, 0xc0, + 0x5d, 0x00, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x58, 0x02, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x01, 0x80, + 0x84, 0x1e, 0x00, 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04, 0x09, 0x04, 0x01, 0x01, 0x01, 0x0e, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x80, 0x00, 0x01, 0x09, 0x04, 0x01, 0x02, 0x01, 0x0e, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x01, 0x01, 0x09, 0x04, 0x01, 0x03, 0x01, 0x0e, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x02, 0x01, 0x09, 0x04, 0x01, 0x04, 0x01, 0x0e, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x58, 0x02, 0x01, 0x09, 0x04, 0x01, 0x05, 0x01, 0x0e, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x03, 0x01, 0x09, 0x04, 0x01, 0x06, 0x01, 0x0e, 0x02, + 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0xbc, 0x03, 0x01 +}; +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/trust_webcam.hpp b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/trust_webcam.hpp new file mode 100644 index 00000000..32544aaa --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/trust_webcam.hpp @@ -0,0 +1,996 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include +/* + ---------------------- Device Descriptor ---------------------- +bLength : 0x12 (18 bytes) +bDescriptorType : 0x01 (Device Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 bytes) +idVendor : 0x0C45 (Sonix Technology Co., Ltd.) +idProduct : 0x6340 +bcdDevice : 0x0000 +iManufacturer : 0x02 (String Descriptor 2) + Language 0x0409 : "Trust Webcam" +iProduct : 0x01 (String Descriptor 1) + Language 0x0409 : "Trust Webcam" +iSerialNumber : 0x03 (String Descriptor 3) + Language 0x0409 : "20200907" +bNumConfigurations : 0x01 (1 Configuration) +Data (HexDump) : 12 01 00 02 EF 02 01 40 45 0C 40 63 00 00 02 01 .......@E.@c.... + 03 01 .. + + ------------------ Configuration Descriptor ------------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x02 (Configuration Descriptor) +wTotalLength : 0x02BD (701 bytes) +bNumInterfaces : 0x04 (4 Interfaces) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x00 (No String Descriptor) +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 02 BD 02 04 01 00 80 FA 08 0B 00 02 0E 03 00 ................ + 05 09 04 00 00 01 0E 01 00 05 0D 24 01 00 01 4D ...........$...M + 00 C0 E1 E4 00 01 01 09 24 03 02 01 01 00 04 00 ........$....... + 1A 24 06 04 70 33 F0 28 11 63 2E 4A BA 2C 68 90 .$..p3.(.c.J.,h. + EB 33 40 16 08 01 03 01 0F 00 12 24 02 01 01 02 .3@........$.... + 00 00 00 00 00 00 00 00 03 04 00 00 0B 24 05 03 .............$.. + 01 00 00 02 3F 07 00 07 05 83 03 10 00 06 05 25 ....?..........% + 03 10 00 09 04 01 00 00 0E 02 00 05 0E 24 01 01 .............$.. + 61 01 81 00 02 02 01 01 01 00 1B 24 04 01 06 59 a..........$...Y + 55 59 32 00 00 10 00 80 00 00 AA 00 38 9B 71 10 UY2.........8.q. + 01 00 00 00 00 32 24 05 01 00 80 02 E0 01 00 00 .....2$......... + 77 01 00 00 CA 08 00 60 09 00 15 16 05 00 06 15 w......`........ + 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A 00 40 ....... ...*,..@ + 42 0F 00 80 84 1E 00 32 24 05 02 00 60 01 20 01 B......2$...`. . + 00 C0 7B 00 00 80 E6 02 00 18 03 00 15 16 05 00 ..{............. + 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C 0A ......... ...*,. + 00 40 42 0F 00 80 84 1E 00 32 24 05 03 00 40 01 .@B......2$...@. + F0 00 00 C0 5D 00 00 80 32 02 00 58 02 00 15 16 ....]...2..X.... + 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 00 2A ........... ...* + 2C 0A 00 40 42 0F 00 80 84 1E 00 32 24 05 04 00 ,..@B......2$... + B0 00 90 00 00 F0 1E 00 00 A0 B9 00 00 C6 00 00 ................ + 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 1E 24 05 .*,..@B.......$. + 05 00 00 05 00 04 00 00 40 06 00 00 40 06 00 00 ........@...@... + 28 00 80 84 1E 00 01 80 84 1E 00 32 24 05 06 00 (..........2$... + A0 00 78 00 00 70 17 00 00 A0 8C 00 00 96 00 00 ..x..p.......... + 15 16 05 00 06 15 16 05 00 80 1A 06 00 20 A1 07 ............. .. + 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00 1A 24 03 .*,..@B.......$. + 00 05 80 02 E0 01 60 01 20 01 40 01 F0 00 B0 00 ......`. .@..... + 90 00 A0 00 78 00 00 06 24 0D 01 01 04 09 04 01 ....x...$....... + 01 01 0E 02 00 00 07 05 81 05 80 00 01 09 04 01 ................ + 02 01 0E 02 00 00 07 05 81 05 00 01 01 09 04 01 ................ + 03 01 0E 02 00 00 07 05 81 05 20 03 01 09 04 01 .......... ..... + 04 01 0E 02 00 00 07 05 81 05 20 0B 01 09 04 01 .......... ..... + 05 01 0E 02 00 00 07 05 81 05 20 13 01 09 04 01 .......... ..... + 06 01 0E 02 00 00 07 05 81 05 00 14 01 08 0B 02 ................ + 02 01 00 00 04 09 04 02 00 00 01 01 00 04 09 24 ...............$ + 01 00 01 29 00 01 03 0C 24 02 01 01 02 00 01 00 ...)....$....... + 00 00 00 0B 24 06 02 01 02 01 00 02 00 00 09 24 ....$..........$ + 03 03 01 01 00 02 00 09 04 03 00 00 01 02 00 00 ................ + 09 04 03 01 01 01 02 00 00 07 24 01 03 01 01 00 ..........$..... + 1D 24 02 01 01 02 10 07 40 1F 00 11 2B 00 80 3E .$......@...+..> + 00 22 56 00 C0 5D 00 44 AC 00 80 BB 00 09 05 84 ."V..].D........ + 05 90 01 04 00 00 07 25 01 01 00 00 00 .......%..... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x02 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x05 (String Descriptor 5) + Language 0x0409 : "Trust Webcam" +Data (HexDump) : 08 0B 00 02 0E 03 00 05 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x05 (String Descriptor 5) + Language 0x0409 : "Trust Webcam" +Data (HexDump) : 09 04 00 00 01 0E 01 00 05 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0D (13 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x004D (77 bytes) +dwClockFreq : 0x00E4E1C0 (15 MHz) +bInCollection : 0x01 (1 VideoStreaming interface) +baInterfaceNr[1] : 0x01 +Data (HexDump) : 0D 24 01 00 01 4D 00 C0 E1 E4 00 01 01 .$...M....... + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x02 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x04 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 02 01 01 00 04 00 .$....... + + --------- Video Control Extension Unit Descriptor ----- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x06 (Extension Unit) +bUnitID : 0x04 +guidExtensionCode : {28F03370-6311-4A2E-BA2C-6890EB334016} +bNumControls : 0x08 +bNrInPins : 0x01 (1 pins) +baSourceID[1] : 0x03 +bControlSize : 0x01 +bmControls : 0x0F + D0 : 1 yes - Vendor-Specific (Optional) + D1 : 1 yes - Vendor-Specific (Optional) + D2 : 1 yes - Vendor-Specific (Optional) + D3 : 1 yes - Vendor-Specific (Optional) + D4 : 0 no - Vendor-Specific (Optional) + D5 : 0 no - Vendor-Specific (Optional) + D6 : 0 no - Vendor-Specific (Optional) + D7 : 0 no - Vendor-Specific (Optional) +iExtension : 0x00 +Data (HexDump) : 1A 24 06 04 70 33 F0 28 11 63 2E 4A BA 2C 68 90 .$..p3.(.c.J.,h. + EB 33 40 16 08 01 03 01 0F 00 .3@....... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x03 +bmControls : 0x04, 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 0 no - Auto-Exposure Mode + D2 : 1 yes - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) + D16 : 0 no - Tilt (Relative) + D17 : 0 no - Focus Auto + D18 : 0 no - Reserved + D19 : 0 no - Reserved + D20 : 0 no - Reserved + D21 : 0 no - Reserved + D22 : 0 no - Reserved + D23 : 0 no - Reserved +Data (HexDump) : 12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 04 .$.............. + 00 00 .. + + -------- Video Control Processing Unit Descriptor ----- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x05 (Processing Unit) +bUnitID : 0x03 +bSourceID : 0x01 +wMaxMultiplier : 0x0000 +bControlSize : 0x02 +bmControls : 0x3F, 0x07 + D0 : 1 yes - Brightness + D1 : 1 yes - Contrast + D2 : 1 yes - Hue + D3 : 1 yes - Saturation + D4 : 1 yes - Sharpness + D5 : 1 yes - Gamma + D6 : 0 no - White Balance Temperature + D7 : 0 no - White Balance Component + D8 : 1 yes - Backlight Compensation + D9 : 1 yes - Gain + D10 : 1 yes - Power Line Frequency + D11 : 0 no - Hue, Auto + D12 : 0 no - White Balance Temperature, Auto + D13 : 0 no - White Balance Component, Auto + D14 : 0 no - Digital Multiplier + D15 : 0 no - Digital Multiplier Limit +iProcessing : 0x00 +Data (HexDump) : 0B 24 05 03 01 00 00 02 3F 07 00 .$......?.. + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x83 (Direction=IN EndpointID=3) +bmAttributes : 0x03 (TransferType=Interrupt) +wMaxPacketSize : 0x0010 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x10 (16 bytes per packet) +bInterval : 0x06 (6 ms) +Data (HexDump) : 07 05 83 03 10 00 06 ....... + + --- Class-specific VC Interrupt Endpoint Descriptor --- +bLength : 0x05 (5 bytes) +bDescriptorType : 0x25 (Video Control Endpoint) +bDescriptorSubtype : 0x03 (Interrupt) +wMaxTransferSize : 0x0010 (16 bytes) +Data (HexDump) : 05 25 03 10 00 .%... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x05 (String Descriptor 5) + Language 0x0409 : "Trust Webcam" +Data (HexDump) : 09 04 01 00 00 0E 02 00 05 ......... + + ---- VC-Specific VS Video Input Header Descriptor ----- +bLength : 0x0E (14 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x01 (Input Header) +bNumFormats : 0x01 +wTotalLength : 0x0161 (353 bytes) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmInfo : 0x00 (Dynamic Format Change not supported) +bTerminalLink : 0x02 +bStillCaptureMethod : 0x02 (Still Capture Method 2) +nbTriggerSupport : 0x01 (Hardware Triggering is supported) +bTriggerUsage : 0x01 (Host will notify client application of button event) +nbControlSize : 0x01 +Video Payload Format 1 : 0x00 + D0 : 0 no - Key Frame Rate + D1 : 0 no - P Frame Rate + D2 : 0 no - Compression Quality + D3 : 0 no - Compression Window Size + D4 : 0 no - Generate Key Frame + D5 : 0 no - Update Frame Segment + D6 : 0 no - Reserved + D7 : 0 no - Reserved +Data (HexDump) : 0E 24 01 01 61 01 81 00 02 02 01 01 01 00 .$..a......... + + ------- VS Uncompressed Format Type Descriptor -------- +bLength : 0x1B (27 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x04 (Uncompressed Format Type) +bFormatIndex : 0x01 (1) +bNumFrameDescriptors : 0x06 (6) +guidFormat : {32595559-0000-0010-8000-00AA00389B71} (YUY2) +bBitsPerPixel : 0x10 (16 bits) +bDefaultFrameIndex : 0x01 (1) +bAspectRatioX : 0x00 +bAspectRatioY : 0x00 +bmInterlaceFlags : 0x00 + D0 IL stream or variable: 0 (no) + D1 Fields per frame : 0 (2 fields) + D2 Field 1 first : 0 (no) + D3 Reserved : 0 + D4..5 Field pattern : 0 (Field 1 only) + D6..7 Display Mode : 0 (Bob only) +bCopyProtect : 0x00 (No restrictions) +Data (HexDump) : 1B 24 04 01 06 59 55 59 32 00 00 10 00 80 00 00 .$...YUY2....... + AA 00 38 9B 71 10 01 00 00 00 00 ..8.q...... + + -------- VS Uncompressed Frame Type Descriptor -------- +---> This is the Default (optimum) Frame index +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x01 +bmCapabilities : 0x00 +wWidth : 0x0280 (640) +wHeight : 0x01E0 (480) +dwMinBitRate : 0x01770000 (24576000 bps -> 3.72 MB/s) +dwMaxBitRate : 0x08CA0000 (147456000 bps -> 18.432 MB/s) +dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 01 00 80 02 E0 01 00 00 77 01 00 00 CA 2$.........w.... + 08 00 60 09 00 15 16 05 00 06 15 16 05 00 80 1A ..`............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x02 +bmCapabilities : 0x00 +wWidth : 0x0160 (352) +wHeight : 0x0120 (288) +dwMinBitRate : 0x007BC000 (8110080 bps -> 1.13 MB/s) +dwMaxBitRate : 0x02E68000 (48660480 bps -> 6.82 MB/s) +dwMaxVideoFrameBufferSize: 0x00031800 (202752 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 02 00 60 01 20 01 00 C0 7B 00 00 80 E6 2$...`. ...{.... + 02 00 18 03 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x03 +bmCapabilities : 0x00 +wWidth : 0x0140 (320) +wHeight : 0x00F0 (240) +dwMinBitRate : 0x005DC000 (6144000 bps -> 768 KB/s) +dwMaxBitRate : 0x02328000 (36864000 bps -> 4.608 MB/s) +dwMaxVideoFrameBufferSize: 0x00025800 (153600 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 03 00 40 01 F0 00 00 C0 5D 00 00 80 32 2$...@.....]...2 + 02 00 58 02 00 15 16 05 00 06 15 16 05 00 80 1A ..X............. + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x04 +bmCapabilities : 0x00 +wWidth : 0x00B0 (176) +wHeight : 0x0090 (144) +dwMinBitRate : 0x001EF000 (2027520 bps -> 253.375 KB/s) +dwMaxBitRate : 0x00B9A000 (12165120 bps -> 1.520 MB/s) +dwMaxVideoFrameBufferSize: 0x0000C600 (50688 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 04 00 B0 00 90 00 00 F0 1E 00 00 A0 B9 2$.............. + 00 00 C6 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x1E (30 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x05 +bmCapabilities : 0x00 +wWidth : 0x0500 (1280) +wHeight : 0x0400 (1024) +dwMinBitRate : 0x06400000 (104857600 bps -> 13.107 MB/s) +dwMaxBitRate : 0x06400000 (104857600 bps -> 13.107 MB/s) +dwMaxVideoFrameBufferSize: 0x00280000 (2621440 bytes) +dwDefaultFrameInterval : 0x001E8480 (200.0000 ms -> 5.000 fps) +bFrameIntervalType : 0x01 (1 discrete frame interval supported) +adwFrameInterval[1] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 1E 24 05 05 00 00 05 00 04 00 00 40 06 00 00 40 .$.........@...@ + 06 00 00 28 00 80 84 1E 00 01 80 84 1E 00 ...(.......... + + -------- VS Uncompressed Frame Type Descriptor -------- +bLength : 0x32 (50 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x05 (Uncompressed Frame Type) +bFrameIndex : 0x06 +bmCapabilities : 0x00 +wWidth : 0x00A0 (160) +wHeight : 0x0078 (120) +dwMinBitRate : 0x00177000 (1536000 bps -> 192 KB/s) +dwMaxBitRate : 0x008CA000 (9216000 bps -> 1.152 MB/s) +dwMaxVideoFrameBufferSize: 0x00009600 (38400 bytes) +dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.000 fps) +bFrameIntervalType : 0x06 (6 discrete frame intervals supported) +adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.000 fps) +adwFrameInterval[2] : 0x00061A80 (40.0000 ms -> 25.000 fps) +adwFrameInterval[3] : 0x0007A120 (50.0000 ms -> 20.000 fps) +adwFrameInterval[4] : 0x000A2C2A (66.6666 ms -> 15.000 fps) +adwFrameInterval[5] : 0x000F4240 (100.0000 ms -> 10.000 fps) +adwFrameInterval[6] : 0x001E8480 (200.0000 ms -> 5.000 fps) +Data (HexDump) : 32 24 05 06 00 A0 00 78 00 00 70 17 00 00 A0 8C 2$.....x..p..... + 00 00 96 00 00 15 16 05 00 06 15 16 05 00 80 1A ................ + 06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84 .. ...*,..@B.... + 1E 00 .. + + ---------- Still Image Frame Type Descriptor ---------- +bLength : 0x1A (26 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x03 (Still Image Frame Type) +bEndpointAddress : 0x00 (no endpoint) +bNumImageSizePatterns : 0x05 (5 Image Size Patterns) +1: wWidth x wHeight : 0x0280 x 0x01E0 (640 x 480) +2: wWidth x wHeight : 0x0160 x 0x0120 (352 x 288) +3: wWidth x wHeight : 0x0140 x 0x00F0 (320 x 240) +4: wWidth x wHeight : 0x00B0 x 0x0090 (176 x 144) +5: wWidth x wHeight : 0x00A0 x 0x0078 (160 x 120) +bNumCompressionPattern : 0x00 +Data (HexDump) : 1A 24 03 00 05 80 02 E0 01 60 01 20 01 40 01 F0 .$.......`. .@.. + 00 B0 00 90 00 A0 00 78 00 00 .......x.. + + ------- VS Color Matching Descriptor Descriptor ------- +bLength : 0x06 (6 bytes) +bDescriptorType : 0x24 (Video Streaming Interface) +bDescriptorSubtype : 0x0D (Color Matching) +bColorPrimaries : 0x01 (BT.709, sRGB) +bTransferCharacteristics : 0x01 (BT.709) +bMatrixCoefficients : 0x04 (SMPTE 170M) +Data (HexDump) : 06 24 0D 01 01 04 .$.... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 01 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0080 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x80 (128 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 80 00 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x02 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 02 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0100 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x100 (256 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 00 01 01 ....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x03 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 03 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0320 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x320 (800 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 20 03 01 .... .. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x04 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 04 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0B20 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet) + Bits 10..0 : 0x320 (800 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 20 0B 01 .... .. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x05 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 05 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x1320 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet) + Bits 10..0 : 0x320 (800 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 20 13 01 .... .. + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x01 +bAlternateSetting : 0x06 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x02 (Video Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 01 06 01 0E 02 00 00 ......... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x81 (Direction=IN EndpointID=1) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x1400 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet) + Bits 10..0 : 0x400 (1024 bytes per packet) +bInterval : 0x01 (1 ms) +Data (HexDump) : 07 05 81 05 00 14 01 ....... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x02 +bInterfaceCount : 0x02 +bFunctionClass : 0x01 (Audio) +bFunctionSubClass : 0x00 (undefined) +bFunctionProtocol : 0x00 +iFunction : 0x04 (String Descriptor 4) + Language 0x0409 : "Trust Webcam" +Data (HexDump) : 08 0B 02 02 01 00 00 04 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x02 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x01 (Audio Control) +bInterfaceProtocol : 0x00 +iInterface : 0x04 (String Descriptor 4) + Language 0x0409 : "Trust Webcam" +Data (HexDump) : 09 04 02 00 00 01 01 00 04 ......... + + ------ Audio Control Interface Header Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 (Header) +bcdADC : 0x0100 +wTotalLength : 0x0029 (41 bytes) +bInCollection : 0x01 +baInterfaceNr[1] : 0x03 +Data (HexDump) : 09 24 01 00 01 29 00 01 03 .$...)... + + ------- Audio Control Input Terminal Descriptor ------- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (Microphone) +bAssocTerminal : 0x00 +bNrChannels : 0x01 (1 channel) +wChannelConfig : 0x0000 (-) +iChannelNames : 0x00 (No String Descriptor) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 0C 24 02 01 01 02 00 01 00 00 00 00 .$.......... + + -------- Audio Control Feature Unit Descriptor -------- +bLength : 0x0B (11 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x06 (Feature Unit) +bUnitID : 0x02 (2) +bSourceID : 0x01 (1) +bControlSize : 0x02 (2 bytes per control) +bmaControls[0] : 0x01, 0x00 + D0: Mute : 1 + D1: Volume : 0 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +bmaControls[1] : 0x02, 0x00 + D0: Mute : 0 + D1: Volume : 1 + D2: Bass : 0 + D3: Mid : 0 + D4: Treble : 0 + D5: Graphic Equalizer : 0 + D6: Automatic Gain : 0 + D7: Delay : 0 + D8: Bass Boost : 0 + D9: Loudness : 0 + D10: Reserved : 0 + D11: Reserved : 0 + D12: Reserved : 0 + D13: Reserved : 0 + D14: Reserved : 0 + D15: Reserved : 0 +iFeature : 0x00 (No String Descriptor) +Data (HexDump) : 0B 24 06 02 01 02 01 00 02 00 00 .$......... + + ------- Audio Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x03 +wTerminalType : 0x0101 (USB streaming) +bAssocTerminal : 0x00 (0) +bSourceID : 0x02 (2) +iTerminal : 0x00 (No String Descriptor) +Data (HexDump) : 09 24 03 03 01 01 00 02 00 .$....... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 00 00 01 02 00 00 ......... + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x03 +bAlternateSetting : 0x01 +bNumEndpoints : 0x01 (1 Endpoint) +bInterfaceClass : 0x01 (Audio) +bInterfaceSubClass : 0x02 (Audio Streaming) +bInterfaceProtocol : 0x00 +iInterface : 0x00 (No String Descriptor) +Data (HexDump) : 09 04 03 01 01 01 02 00 00 ......... + + -------- Audio Streaming Interface Descriptor --------- +bLength : 0x07 (7 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x01 +bTerminalLink : 0x03 +bDelay : 0x01 +wFormatTag : 0x0001 (PCM) +Data (HexDump) : 07 24 01 03 01 01 00 .$..... + + ------- Audio Streaming Format Type Descriptor -------- +bLength : 0x1D (29 bytes) +bDescriptorType : 0x24 (Audio Interface Descriptor) +bDescriptorSubtype : 0x02 (Format Type) +bFormatType : 0x01 (FORMAT_TYPE_I) +bNrChannels : 0x01 (1 channel) +bSubframeSize : 0x02 (2 bytes per subframe) +bBitResolution : 0x10 (16 bits per sample) +bSamFreqType : 0x07 (supports 7 sample frequencies) +tSamFreq[1] : 0x01F40 (8000 Hz) +tSamFreq[2] : 0x02B11 (11025 Hz) +tSamFreq[3] : 0x03E80 (16000 Hz) +tSamFreq[4] : 0x05622 (22050 Hz) +tSamFreq[5] : 0x05DC0 (24000 Hz) +tSamFreq[6] : 0x0AC44 (44100 Hz) +tSamFreq[7] : 0x0BB80 (48000 Hz) +Data (HexDump) : 1D 24 02 01 01 02 10 07 40 1F 00 11 2B 00 80 3E .$......@...+..> + 00 22 56 00 C0 5D 00 44 AC 00 80 BB 00 ."V..].D..... + + ----------------- Endpoint Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x05 (Endpoint Descriptor) +bEndpointAddress : 0x84 (Direction=IN EndpointID=4) +bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data) +wMaxPacketSize : 0x0190 + Bits 15..13 : 0x00 (reserved, must be zero) + Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet) + Bits 10..0 : 0x190 (400 bytes per packet) +bInterval : 0x04 (4 ms) +bRefresh : 0x00 +bSynchAddress : 0x00 +Data (HexDump) : 09 05 84 05 90 01 04 00 00 ......... + + ----------- Audio Data Endpoint Descriptor ------------ +bLength : 0x07 (7 bytes) +bDescriptorType : 0x25 (Audio Endpoint Descriptor) +bDescriptorSubtype : 0x01 (General) +bmAttributes : 0x01 + D0 : Sampling Freq : 0x01 (supported) + D1 : Pitch : 0x00 (not supported) + D6..2: Reserved : 0x00 + D7 : MaxPacketsOnly : 0x00 (no) +bLockDelayUnits : 0x00 (Undefined) +wLockDelay : 0x0000 +Data (HexDump) : 07 25 01 01 00 00 00 .%..... + + ----------------- Device Qualifier Descriptor ----------------- +bLength : 0x0A (10 bytes) +bDescriptorType : 0x06 (Device_qualifier Descriptor) +bcdUSB : 0x200 (USB Version 2.00) +bDeviceClass : 0xEF (Miscellaneous) +bDeviceSubClass : 0x02 +bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor) +bMaxPacketSize0 : 0x40 (64 Bytes) +bNumConfigurations : 0x01 (1 other-speed configuration) +bReserved : 0x00 +Data (HexDump) : 0A 06 00 02 EF 02 01 40 01 00 .......@.. + + ------------ Other Speed Configuration Descriptor ------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x07 (Other_speed_configuration Descriptor) +wTotalLength : 0x0040 (64 bytes) +bNumInterfaces : 0x01 (1 Interface) +bConfigurationValue : 0x01 (Configuration 1) +iConfiguration : 0x00 (No String Descriptor) +bmAttributes : 0x80 + D7: Reserved, set 1 : 0x01 + D6: Self Powered : 0x00 (no) + D5: Remote Wakeup : 0x00 (no) + D4..0: Reserved, set 0 : 0x00 +MaxPower : 0xFA (500 mA) +Data (HexDump) : 09 07 40 00 01 01 00 80 FA 08 0B 00 01 0E 03 00 ..@............. + 01 09 04 00 00 00 0E 01 00 01 0C 24 01 00 01 26 ...........$...& + 00 80 8D 5B 00 00 09 24 03 02 01 01 00 03 00 11 ...[...$........ + 24 02 01 01 02 00 00 00 00 00 00 00 00 02 00 00 $............... + + ------------------- IAD Descriptor -------------------- +bLength : 0x08 (8 bytes) +bDescriptorType : 0x0B +bFirstInterface : 0x00 +bInterfaceCount : 0x01 +*!*ERROR bInterfaceCount must be greater than 1 +bFunctionClass : 0x0E (Video) +bFunctionSubClass : 0x03 (Video Interface Collection) +bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED protocol) +iFunction : 0x01 (String Descriptor 1) + Language 0x0409 : "Trust Webcam" +Data (HexDump) : 08 0B 00 01 0E 03 00 01 ........ + + ---------------- Interface Descriptor ----------------- +bLength : 0x09 (9 bytes) +bDescriptorType : 0x04 (Interface Descriptor) +bInterfaceNumber : 0x00 +bAlternateSetting : 0x00 +bNumEndpoints : 0x00 (Default Control Pipe only) +bInterfaceClass : 0x0E (Video) +bInterfaceSubClass : 0x01 (Video Control) +bInterfaceProtocol : 0x00 +iInterface : 0x01 (String Descriptor 1) + Language 0x0409 : "Trust Webcam" +Data (HexDump) : 09 04 00 00 00 0E 01 00 01 ......... + + ------- Video Control Interface Header Descriptor ----- +bLength : 0x0C (12 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x01 (Video Control Header) +bcdUVC : 0x0100 (UVC Version 1.00) +wTotalLength : 0x0026 (38 bytes) +dwClockFreq : 0x005B8D80 (6 MHz) +bInCollection : 0x00 (0 VideoStreaming interface) +Data (HexDump) : 0C 24 01 00 01 26 00 80 8D 5B 00 00 .$...&...[.. + + ------- Video Control Output Terminal Descriptor ------ +bLength : 0x09 (9 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x03 (Output Terminal) +bTerminalID : 0x02 +wTerminalType : 0x0101 (TT_STREAMING) +bAssocTerminal : 0x00 (Not associated with an Input Terminal) +bSourceID : 0x03 +iTerminal : 0x00 +Data (HexDump) : 09 24 03 02 01 01 00 03 00 .$....... + + -------- Video Control Input Terminal Descriptor ------ +bLength : 0x11 (17 bytes) +bDescriptorType : 0x24 (Video Control Interface) +bDescriptorSubtype : 0x02 (Input Terminal) +bTerminalID : 0x01 +wTerminalType : 0x0201 (ITT_CAMERA) +bAssocTerminal : 0x00 (Not associated with an Output Terminal) +iTerminal : 0x00 +Camera Input Terminal Data: +wObjectiveFocalLengthMin : 0x0000 +wObjectiveFocalLengthMax : 0x0000 +wOcularFocalLength : 0x0000 +bControlSize : 0x02 +bmControls : 0x00, 0x00 + D0 : 0 no - Scanning Mode + D1 : 0 no - Auto-Exposure Mode + D2 : 0 no - Auto-Exposure Priority + D3 : 0 no - Exposure Time (Absolute) + D4 : 0 no - Exposure Time (Relative) + D5 : 0 no - Focus (Absolute) + D6 : 0 no - Focus (Relative) + D7 : 0 no - Iris (Absolute) + D8 : 0 no - Iris (Relative) + D9 : 0 no - Zoom (Absolute) + D10 : 0 no - Zoom (Relative) + D11 : 0 no - Pan (Absolute) + D12 : 0 no - Pan (Relative) + D13 : 0 no - Roll (Absolute) + D14 : 0 no - Roll (Relative) + D15 : 0 no - Tilt (Absolute) +Data (HexDump) : 11 24 02 01 01 02 00 00 00 00 00 00 00 00 02 00 .$.............. + 00 . + + -------------------- String Descriptors ------------------- + ------ String Descriptor 0 ------ +bLength : 0x04 (4 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language ID[0] : 0x0409 (English - United States) +Data (HexDump) : 04 03 09 04 .... + ------ String Descriptor 1 ------ +bLength : 0x1A (26 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Trust Webcam" +Data (HexDump) : 1A 03 54 00 72 00 75 00 73 00 74 00 20 00 57 00 ..T.r.u.s.t. .W. + 65 00 62 00 63 00 61 00 6D 00 e.b.c.a.m. + ------ String Descriptor 2 ------ +bLength : 0x1A (26 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Trust Webcam" +Data (HexDump) : 1A 03 54 00 72 00 75 00 73 00 74 00 20 00 57 00 ..T.r.u.s.t. .W. + 65 00 62 00 63 00 61 00 6D 00 e.b.c.a.m. + ------ String Descriptor 3 ------ +bLength : 0x12 (18 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "20200907" +Data (HexDump) : 12 03 32 00 30 00 32 00 30 00 30 00 39 00 30 00 ..2.0.2.0.0.9.0. + 37 00 7. + ------ String Descriptor 4 ------ +bLength : 0x1A (26 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Trust Webcam" +Data (HexDump) : 1A 03 54 00 72 00 75 00 73 00 74 00 20 00 57 00 ..T.r.u.s.t. .W. + 65 00 62 00 63 00 61 00 6D 00 e.b.c.a.m. + ------ String Descriptor 5 ------ +bLength : 0x1A (26 bytes) +bDescriptorType : 0x03 (String Descriptor) +Language 0x0409 : "Trust Webcam" +Data (HexDump) : 1A 03 54 00 72 00 75 00 73 00 74 00 20 00 57 00 ..T.r.u.s.t. .W. + 65 00 62 00 63 00 61 00 6D 00 e.b.c.a.m. +*/ + +namespace trust_webcam { +const uint8_t dev_desc[] = { + 0x12, 0x01, 0x00, 0x02, 0xEF, 0x02, 0x01, 0x40, 0x45, 0x0C, 0x40, 0x63, 0x00, 0x00, 0x02, 0x01, + 0x03, 0x01 +}; + +const uint8_t cfg_desc[] = { + 0x09, 0x02, 0xBD, 0x02, 0x04, 0x01, 0x00, 0x80, 0xFA, 0x08, 0x0B, 0x00, 0x02, 0x0E, 0x03, 0x00, + 0x05, 0x09, 0x04, 0x00, 0x00, 0x01, 0x0E, 0x01, 0x00, 0x05, 0x0D, 0x24, 0x01, 0x00, 0x01, 0x4D, + 0x00, 0xC0, 0xE1, 0xE4, 0x00, 0x01, 0x01, 0x09, 0x24, 0x03, 0x02, 0x01, 0x01, 0x00, 0x04, 0x00, + 0x1A, 0x24, 0x06, 0x04, 0x70, 0x33, 0xF0, 0x28, 0x11, 0x63, 0x2E, 0x4A, 0xBA, 0x2C, 0x68, 0x90, + 0xEB, 0x33, 0x40, 0x16, 0x08, 0x01, 0x03, 0x01, 0x0F, 0x00, 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x0B, 0x24, 0x05, 0x03, + 0x01, 0x00, 0x00, 0x02, 0x3F, 0x07, 0x00, 0x07, 0x05, 0x83, 0x03, 0x10, 0x00, 0x06, 0x05, 0x25, + 0x03, 0x10, 0x00, 0x09, 0x04, 0x01, 0x00, 0x00, 0x0E, 0x02, 0x00, 0x05, 0x0E, 0x24, 0x01, 0x01, + 0x61, 0x01, 0x81, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x1B, 0x24, 0x04, 0x01, 0x06, 0x59, + 0x55, 0x59, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71, 0x10, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x32, 0x24, 0x05, 0x01, 0x00, 0x80, 0x02, 0xE0, 0x01, 0x00, 0x00, + 0x77, 0x01, 0x00, 0x00, 0xCA, 0x08, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, + 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, + 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x02, 0x00, 0x60, 0x01, 0x20, 0x01, + 0x00, 0xC0, 0x7B, 0x00, 0x00, 0x80, 0xE6, 0x02, 0x00, 0x18, 0x03, 0x00, 0x15, 0x16, 0x05, 0x00, + 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, 0x2C, 0x0A, + 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x03, 0x00, 0x40, 0x01, + 0xF0, 0x00, 0x00, 0xC0, 0x5D, 0x00, 0x00, 0x80, 0x32, 0x02, 0x00, 0x58, 0x02, 0x00, 0x15, 0x16, + 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, 0x00, 0x2A, + 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x04, 0x00, + 0xB0, 0x00, 0x90, 0x00, 0x00, 0xF0, 0x1E, 0x00, 0x00, 0xA0, 0xB9, 0x00, 0x00, 0xC6, 0x00, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x1E, 0x24, 0x05, + 0x05, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, + 0x28, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x01, 0x80, 0x84, 0x1E, 0x00, 0x32, 0x24, 0x05, 0x06, 0x00, + 0xA0, 0x00, 0x78, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0xA0, 0x8C, 0x00, 0x00, 0x96, 0x00, 0x00, + 0x15, 0x16, 0x05, 0x00, 0x06, 0x15, 0x16, 0x05, 0x00, 0x80, 0x1A, 0x06, 0x00, 0x20, 0xA1, 0x07, + 0x00, 0x2A, 0x2C, 0x0A, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x84, 0x1E, 0x00, 0x1A, 0x24, 0x03, + 0x00, 0x05, 0x80, 0x02, 0xE0, 0x01, 0x60, 0x01, 0x20, 0x01, 0x40, 0x01, 0xF0, 0x00, 0xB0, 0x00, + 0x90, 0x00, 0xA0, 0x00, 0x78, 0x00, 0x00, 0x06, 0x24, 0x0D, 0x01, 0x01, 0x04, 0x09, 0x04, 0x01, + 0x01, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x80, 0x00, 0x01, 0x09, 0x04, 0x01, + 0x02, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x01, 0x01, 0x09, 0x04, 0x01, + 0x03, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x03, 0x01, 0x09, 0x04, 0x01, + 0x04, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x0B, 0x01, 0x09, 0x04, 0x01, + 0x05, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x20, 0x13, 0x01, 0x09, 0x04, 0x01, + 0x06, 0x01, 0x0E, 0x02, 0x00, 0x00, 0x07, 0x05, 0x81, 0x05, 0x00, 0x14, 0x01, 0x08, 0x0B, 0x02, + 0x02, 0x01, 0x00, 0x00, 0x04, 0x09, 0x04, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x04, 0x09, 0x24, + 0x01, 0x00, 0x01, 0x29, 0x00, 0x01, 0x03, 0x0C, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x0B, 0x24, 0x06, 0x02, 0x01, 0x02, 0x01, 0x00, 0x02, 0x00, 0x00, 0x09, 0x24, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, + 0x09, 0x04, 0x03, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00, + 0x1D, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x07, 0x40, 0x1F, 0x00, 0x11, 0x2B, 0x00, 0x80, 0x3E, + 0x00, 0x22, 0x56, 0x00, 0xC0, 0x5D, 0x00, 0x44, 0xAC, 0x00, 0x80, 0xBB, 0x00, 0x09, 0x05, 0x84, + 0x05, 0x90, 0x01, 0x04, 0x00, 0x00, 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00 +}; + +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/usb_device_tree_view_to_c_array.py b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/usb_device_tree_view_to_c_array.py new file mode 100644 index 00000000..b0d73aa8 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/descriptors/usb_device_tree_view_to_c_array.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +# SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Apache-2.0 +import re + +def hex_to_c_array(hex_string): + """ + Converts a hex string (with potential ASCII characters on the right side) into a formatted C-style uint8_t array. + + This function was used for generating C descriptor arrays from USB Device Tree Viewer + + This function: + 1. Removes the ASCII characters from the input, preserving only the hex values. + 2. Cleans up spaces and newlines from the hex values. + 3. Formats the hex values into a C-style uint8_t array with a new line after every 16 bytes. + + Args: + hex_string (str): The raw hex string input that may contain ASCII characters on the right side. + + Returns: + str: A formatted C-style uint8_t array string. + """ + # Step 1: Remove ASCII characters + # Use regex to capture only the hex part (ignore the part with ASCII characters) + # cleaned_hex = re.sub(r" {2,}.*", "", hex_string) # Matches double spaces and removes anything after + cleaned_hex = re.sub(r"(\S{2}(?:\s\S{2})*)\s{2,}.*", r"\1", hex_string) + + # Step 2: Remove any remaining extra spaces or newlines + cleaned_hex = cleaned_hex.replace(" ", "").replace("\n", "") + + # Step 3: Split the cleaned hex string into pairs of characters (hex bytes) + hex_bytes = [cleaned_hex[i:i+2] for i in range(0, len(cleaned_hex), 2)] + + # Step 4: Convert the hex bytes into a C-style uint8_t array with 16 bytes per line + c_array = "uint8_t data[] = {\n " + for i in range(0, len(hex_bytes), 16): + line = ", ".join(f"0x{byte}" for byte in hex_bytes[i:i+16]) + c_array += line + if i + 16 < len(hex_bytes): + c_array += ",\n " # Add a newline and indentation if more bytes follow + else: + c_array += "\n" + c_array += "};" + + return c_array + +def main(): + """ + The main function where the script execution begins. + + It defines a sample hex string (with ASCII characters on the right side) and converts it + to a formatted C-style uint8_t array using the hex_to_c_array function. + """ + # Example input - you can replace this with any hex dump + hex_string = """ + 12 01 00 02 EF 02 01 40 E4 32 15 94 19 04 01 02 .......@.2...... + 03 01 .. + """ + + # Convert the hex string to a C array + c_array_output = hex_to_c_array(hex_string) + + # Print the result + print(c_array_output) + +if __name__ == "__main__": + main() diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/idf_component.yml b/host/class/uvc/usb_host_uvc_2/host_test/main/idf_component.yml new file mode 100644 index 00000000..bd0c2b3b --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/idf_component.yml @@ -0,0 +1,5 @@ +dependencies: + espressif/catch2: "^3.4.0" + usb_host_uvc_2: + version: "*" + override_path: "../../" diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/test_main.cpp b/host/class/uvc/usb_host_uvc_2/host_test/main/test_main.cpp new file mode 100644 index 00000000..c6130ffa --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/test_main.cpp @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include + + +extern "C" void app_main(void) +{ + int argc = 1; + const char *argv[2] = { + "target_test_main", + NULL + }; + + auto result = Catch::Session().run(argc, argv); + if (result != 0) { + printf("Test failed with result %d\n", result); + } else { + printf("Test passed.\n"); + } + fflush(stdout); + exit(result); +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/main/test_parsing_logitech_c270.cpp b/host/class/uvc/usb_host_uvc_2/host_test/main/test_parsing_logitech_c270.cpp new file mode 100644 index 00000000..d6d39a16 --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/main/test_parsing_logitech_c270.cpp @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +#include "usb/uvc_host.h" +#include "uvc_descriptors_priv.h" + +#include "descriptors/logitech_c270.hpp" +using namespace logitech_c270; + +SCENARIO("Camera descriptor parsing: Logitech C270", "[logitech][c270]") +{ + GIVEN("Logitech C270") { + const usb_device_desc_t *dev = (const usb_device_desc_t *)dev_desc; + const usb_config_desc_t *cfg = (const usb_config_desc_t *)cfg_desc; + + REQUIRE(dev != nullptr); + REQUIRE(cfg != nullptr); + } +} diff --git a/host/class/uvc/usb_host_uvc_2/host_test/sdkconfig.defaults b/host/class/uvc/usb_host_uvc_2/host_test/sdkconfig.defaults new file mode 100644 index 00000000..14bc2aef --- /dev/null +++ b/host/class/uvc/usb_host_uvc_2/host_test/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Minimal Configuration +# +CONFIG_IDF_TARGET="linux" +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_ESP_MAIN_TASK_STACK_SIZE=12000 +CONFIG_FREERTOS_HZ=1000 +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=n diff --git a/host/class/uvc/usb_host_uvc_2/idf_component.yml b/host/class/uvc/usb_host_uvc_2/idf_component.yml index 7a268bdc..a7a2204c 100644 --- a/host/class/uvc/usb_host_uvc_2/idf_component.yml +++ b/host/class/uvc/usb_host_uvc_2/idf_component.yml @@ -3,7 +3,3 @@ version: "0.1.0" description: USB Host UVC driver dependencies: idf: ">=5.0" -targets: - - esp32s2 - - esp32s3 - - esp32p4 diff --git a/host/class/uvc/usb_host_uvc_2/uvc_descriptors.c b/host/class/uvc/usb_host_uvc_2/uvc_descriptor_parsing.c similarity index 100% rename from host/class/uvc/usb_host_uvc_2/uvc_descriptors.c rename to host/class/uvc/usb_host_uvc_2/uvc_descriptor_parsing.c diff --git a/host/class/uvc/usb_host_uvc_2/uvc_frame.c b/host/class/uvc/usb_host_uvc_2/uvc_frame.c index e89f6f15..1b80b35d 100644 --- a/host/class/uvc/usb_host_uvc_2/uvc_frame.c +++ b/host/class/uvc/usb_host_uvc_2/uvc_frame.c @@ -5,6 +5,7 @@ */ #include // For memcpy +#include #include "esp_check.h" #include "usb/uvc_host.h" @@ -37,12 +38,12 @@ esp_err_t uvc_frame_allocate(uvc_stream_t *uvc_stream, int nb_of_fb, size_t fb_s for (int i = 0; i < nb_of_fb; i++) { // Allocate the frame buffer uvc_frame_t *this_fb = malloc(sizeof(uvc_frame_t)); - ESP_GOTO_ON_FALSE(this_fb, ESP_ERR_NO_MEM, err, TAG, "Not enough memory for frame buffers %d", fb_size); uint8_t *this_data = malloc(fb_size); - if (!this_data) { + if (this_data == NULL || this_fb == NULL) { free(this_fb); + free(this_data); ret = ESP_ERR_NO_MEM; - ESP_LOGE(TAG, "Not enough memory for frame buffers %d", fb_size); + ESP_LOGE(TAG, "Not enough memory for frame buffers %"PRIxPTR"", fb_size); goto err; }