UVC 输入端点描述符

UVC学习笔记是以最新的UVC1.5为基础,带你学习和了解最新的UVC规范和协议。

输入端点描述符用于向主机报告视频数据输入端点的相关信息。
输入端点描述符使用bTerminalID描述输入端点的ID,且这个ID是惟一的。
输入端点描述符位于视频控制接口中。

输入端点描述符结构体定义如下:

// Input Terminal Descriptor
typedef struct _USB_IT_DESCRIPTOR
{
   UINT8  bLength;
   UINT8  bDescriptorType;
   UINT8  bDescriptorSubtype;
   UINT8  bTerminalID;
   UINT16 wTerminalType;
   UINT8  bAssocTerminal;
   UINT8  iTerminal;
   UINT8  reserved[0];
} USB_IT_DESCRIPTOR;
  • bLength :输入端点描述符结构体的大小。8 (+ x)
  • bDescriptorType:输入端点描述符类型。CS_INTERFACE,值为0X24;
  • bDescriptorSubtype:输入端点描述符子类型。VC_INPUT_TERMINAL ,值为0x02。
  • bTerminalID:输入端点描述符的ID,非零值。所有请求使用此值来寻址输入端点。
  • wTerminalType:端点类型。见UVC端点类型。
  • bAssocTerminal:此输入端点关联的输出端点,如没有则为0.
  • 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
作者使用windows开发UVC摄像头驱动,欢迎加入字节流官方QQ群:952873936或联系站长进行技术交流。
字节流是站长多年来的工作经验和技术总结,和站长一起学习,每天都有进步。
微信公众号
字节流公众号  字节流QQ群:952873936
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

Powered by bytekits.com,汇天下文字,成非凡梦想!!!