UVC 类特定视频控制接口头描述符
2021-05-06
4353
7
类特定视频控制接口头描述符总长度由控制接口类单元和端点和决定。
类特定视频控制接口头描述符位于UVC 标准视频控制接口描述符之后,是控制单元和端点的描述符头。
结构体定义如下:
// class-specific video control header
typedef struct _USB_VC_HEADER
{
UINT8 bLength;
UINT8 bDescriptorType;
UINT8 bDescriptorSubType;
UINT16 bcdUVC;
UINT16 wTotalLength;
UINT32 dwClockFrequency;
UINT8 bInCollection;
UINT8 baInterfaceNr[1]; //数量由bInCollection决定。
} USB_VC_HEADER;
- bLength:结构体自身长度13+bInCollection-1
- bDescriptorType:描述符类型:CS_INTERFACE,值为0x24
- bDescriptorSubType:描述符子类型VC_HEADER,值为0x01
- bcdUVC:uvc版本号。 UVC15: 0x0150;UVC10: 0x0100
- wTotalLength:自身长度和后续控制单元和终端的描述符的数据长度。
- dwClockFrequency:时钟频率,以HZ为单位。
- bInCollection:视频流接口个数。
- baInterfaceNr:第一个视频接流接口编号,有多如依次类推。
类特定视频控制接口头描述符后跟1个或多个控制单元和终端实例描述符。后续的控制单元或终端实例都有惟一的一个ID,并且从1开始(0用做保留未定义),最大到255。其ID在其描述符的 bUnitID 或 bTerminalID中指定。
控制单元或终端实例的ID除了用于寻址外,也用于描述视频功能的拓扑结构。
视频类特定描述符类型
视频类特定描述符类型 | 值 |
---|---|
CS_UNDEFINED | 0x20 |
CS_DEVICE | 0x21 |
CS_CONFIGURATION | 0x22 |
CS_STRING | 0x23 |
CS_INTERFACE | 0x24 |
CS_ENDPOINT | 0x25 |
类特定视频控制接口头描述符子类型(bDescriptorSubtype)
类特定视频控制接口头描述符子类型 | 值 |
---|---|
VC_DESCRIPTOR_UNDEFINED | 0x00 |
VC_HEADER | 0x01 |
VC_INPUT_TERMINAL | 0x02 |
VC_OUTPUT_TERMINAL | 0x03 |
VC_SELECTOR_UNIT | 0x04 |
VC_PROCESSING_UNIT | 0x05 |
VC_EXTENSION_UNIT | 0x06 |
VC_ENCODING_UNIT | 0x07 |
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936