UVC 类特定视频控制接口头描述符

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

类特定视频控制接口头描述符总长度由控制接口类单元和端点和决定。
类特定视频控制接口头描述符位于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:自身长度和后续控制单元和终端的描述符的数据长度。12+n
  • 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
作者使用windows开发UVC摄像头驱动,欢迎加入字节流官方QQ群:952873936或联系站长进行技术交流。
字节流是站长多年来的工作经验和技术总结,和站长一起学习,每天都有进步。
微信公众号
字节流公众号  字节流QQ群:952873936
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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