UVC 输出终端描述符
2020-09-30
1949
0
输出终端描述符用于向主机报告视频数据输出终端的相关信息。
输出终端描述符使用bTerminalID描述输出端点的ID,且这个ID是惟一的。
输出终端描述符位于视频控制接口中。
输出终端描述符结构体定义如下:
// Output Terminal Descriptor
typedef struct _USB_OT_DESCRIPTOR
{
UINT8 bLength;
UINT8 bDescriptorType;
UINT8 bDescriptorSubtype;
UINT8 bTerminalID;
UINT16 wTerminalType;
UINT8 bAssocTerminal;
UINT8 bSourceID;
UINT8 iTerminal;
UINT8 reserved[0];
} USB_OT_DESCRIPTOR;
- bLength :输出终端描述符结构体的大小。9 (+ x)
- bDescriptorType:输输出终端描述符类型。CS_INTERFACE,值为0X24;
- bDescriptorSubtype:输输出终端描述符子类型。VC_OUTPUT_TERMINA ,值为0x03。
- bTerminalID:输出终端描述符的ID,非零值。所有请求使用此值来寻址输出端点。
- wTerminalType:端点类型。见UVC端点类型。
- bAssocTerminal:此输出终端关联的输入端点,如没有则为0.
一个例子是摄像机上的磁带单元,它有输入和输出终端,分别接收和发送视频。如果使用bAssocTerminal字段,则两个关联的终端必须属于双向终端类型组。如果不存在关联,则必须将AssocTerminal字段设置为零。
- bSourceID:此终端所连接的设备或终端的ID。
- iTerminal:描述此输出端点的字符串描述符索引。
- reserved:根据端点类型,某些输出端点描述符具有附加字段。
输出终端类型
类型 | 值 | IO | 描述 |
---|---|---|---|
OTT_VENDOR_SPECIFIC | 0x300 | O | 厂商指定输出端点 |
OTT_DISPLAY | 0x301 | O | 通用显示(LCD,CRT等) |
OTT_MEDIA_TRANSPORT_OUTPUT | 0x302 | O | 序列媒体,仅用于媒体端点描述符 |
TT_VENDOR_SPECIFIC | 0x0100 | I/O | 一种处理通过供应商特定接口传输的信号的终端。供应商特定的接口描述符必须包含一个引用终端的字段。 |
TT_STREAMING | 0x0101 | I/O | 一种终端,处理视频流接口中端点上携带的信号。VideoStreaming接口描述符通过bTerminalLink字段指向相关的终端。 |
输出终端描述符示例
------- Video Control Output Terminal Descriptor ------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x03 (Output Terminal)
bTerminalID : 0x05 (5)
wTerminalType : 0x0101 (TT_STREAMING)
bAssocTerminal : 0x00 (Not associated with an Input Terminal)
bSourceID : 0x04 (4)
iTerminal : 0x00 (No String Descriptor)
Data (HexDump) : 09 24 03 05 01 01 00 04 00 .$.......
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936