UVC规范(USB摄像头)
+ -

UVC 输出终端描述符

2020-09-30 1359 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:根据端点类型,某些输出端点描述符具有附加字段。

UVC端点类型

USB终端类型

类型 IO 描述
TT_VENDOR_SPECIFIC 0x100 IO 厂商特定的接口端点
TT_STREAMING 0x101 IO 视频流接口端点

输入终端类型

类型 IO 描述
ITT_VENDOR_SPECIFIC 0x200 I 厂商指定输入端点
ITT_CAMERA 0x201 I 摄像头,仅用于摄像头端点描述符
ITT_MEDIA_TRANSPORT_INPUT 0x202 I 序列媒体,仅用于媒体端点描述符

输出终端类型

类型 IO 描述
OTT_VENDOR_SPECIFIC 0x300 O 厂商指定输出端点
OTT_DISPLAY 0x301 O 通用显示(LCD,CRT等)
OTT_MEDIA_TRANSPORT_OUTPUT 0x302 O 序列媒体,仅用于媒体端点描述符

扩展终端类型

类型 IO 描述
EXTERNAL_VENDOR_SPECIFIC 0x400 I/O 厂商指定端点
COMPOSITE_CONNECTOR 0x401 I/O 复合视频连接器
SVIDEO_CONNECTOR 0x402 I/O S-video连接器
COMPONENT_CONNECTOR 0x403 I/O 组件视频连接器

视频类特定描述符类型

视频类特定描述符类型
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   

0 篇笔记 写笔记

UVC 输出终端描述符
输出终端描述符用于向主机报告视频数据输出终端的相关信息。输出终端描述符使用bTerminalID描述输出端点的ID,且这个ID是惟一的。输出终端描述符位于视频控制接口中。输出终端描述符结构体定义如下:// Output Terminal Descriptortypedef struct _US......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!