UAC规范(USB音频)
+ -

UAC 处理单元描述符

2021-08-27 1668 0

UAC处理单元描述符全称Processing Unit Descriptor,缩写这PUD.
处理单元描述符和其它音频控制的单元/终端描述一样,也具有一个惟一的ID标识字段UnitID。

UAC处理单元的功能

处理单元(PU)表示音频功能内部的一个功能块,它将逻辑输入通道,分为一个或多个群集,并分成若干个逻辑输出通道一个集群。

  • 上下混音处理单元 :UP/DOWN-MIX PROCESSING UNIT
  • 立体声扩展器处理单元 - STEREO EXTENDER PROCESSING UNI
  • 多功能处理单元 - MULTI-FUNCTION PROCESSING UNIT

UAC处理单元描述符定义

typedef struct _PROCESS_UNIT_DESCRIPTOR
{
    UINT8 bLength;
    UINT8 bDescriptorType;
    UINT8 bDescriptorSubtype;
    UINT8 bUnitID;
    UINT8 wProcessType;
    UINT8 bNrInPins;
    UINT8 baSourceID[bNrInPins];
    UINT8 bNrChannels;
    UINT16 wChannelConfig;
    UINT8 iChannelNames;
    UINT8 bControlSize;
    UINT8 bmControls[bControlSize];
    UINT8 iProcessing;
    UINT8 Process-specific[N];
}PROCESS_UNIT_DESCRIPTOR;
  • 0:bLength:UAC处理单元描述符的总长度。
  • 1:bDescriptorType:接口类型CS_INTERFACE
  • 2:bDescriptorSubtype:接口子类型PROCESSING_UNIT
  • 3:bUnitID:选择单元ID
  • 4:wProcessType:处理单元的类型标识,见UAC处理单元描述符的类型表。
  • 6:bNrInPins输入到该处理单元的连接管脚数量
  • 7:baSourceID:输入到该处理单元的终端或单元ID数组。
  • 7+p:bNrChannels:处理单元的逻辑输出通道数。
  • 7+p+1:wChannelConfig:描述处理单元的音频通道簇中逻辑通道的位置。
  • 7+p+3:iChannelNames:处理单元音频通道集第一个逻辑通道的字符串描述符索引
  • 11+p:bControlSize:bmControls的字节数。
  • 12+p:bmControls:设置为 1 的位表示支持上述控制:
    • D0:启用处理。
    • D1..(n*8-1):进程特定的分配
  • 12+p+n:iProcessing:处理单元的字符串描述符索引
  • 13+p+n:Process-specific:附加到公共描述符的特定处理描述符。

因为处理单元可以自由地重新定义包含在其输出簇中的逻辑输出通道的空间位置,所以需要输出簇描述符。 NrChannels、wChannelConfig 和 iChannelNames 字段表征通过单个输出引脚(“下游”连接)离开处理单元的集群

UAC处理单元描述符的类型:

wProcessType Value
PROCESS_UNDEFINED 0x00
UP/DOWNMIX_PROCESS 0x01
DOLBY_PROLOGIC_PROCESS 0x02
3D_STEREO_EXTENDER_PROCESS 0x03
REVERBERATION_PROCESS 0x04

UAC接口类型表

Descriptor Type Value
CS_UNDEFINED 0x20
CS_DEVICE 0x21
CS_CONFIGURATION 0x22
CS_STRING 0x23
CS_INTERFACE 0x24
CS_ENDPOINT 0x25
Descriptor Subtype Value
AC_DESCRIPTOR_UNDEFINED 0x00
HEADER 0x01
INPUT_TERMINAL 0x02
OUTPUT_TERMINAL 0x03
MIXER_UNIT 0x04
SELECTOR_UNIT 0x05
FEATURE_UNIT 0x06
PROCESSING_UNIT 0x07
EXTENSION_UNIT 0x08
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的版本区别之处理单元描述符
UVC规范自发布到现在,已经有UVC1.0,UVC1.1和UVC1.5三个版本了。在Windows环境下,支持的最广泛的是UVC1.0,从Win7开始支持UVC1.1,从Win8开始支持UVC1.5.我们常用的UVC摄像头一般为了支持更加广泛的操作系统,一般情况下UVC的固件是UVC1.0,但随着固......
UVC 处理单元描述符
处理单元描述符的ID使用bUnitID字段标识。同一视频功能内的任何其他单元或终端不得具有相同的功能ID。bSourceID字段用于描述此处理单元的连接。它包含此处理单元通过其输入引脚连接到的设备或终端的ID。bSourceID必须引用同一视频功能中的单元或终端。bmControls字段是一个位图......
LINUX&UVC处理单元描述符
不同的UVC版本,其UVC处理单元描述格式稍有不同。关于UVC处理单元描述符各字段的详细说明可详见:https://www.usbzh.com/article/detail-84.html对于UVC1.1/1.5版本,其内容如下: UINT8 bLength; UINT8 bDescr......
UVC 处理单元控制请求
处理单元控制请求用于设置或读取视频函数的处理单元内的视频控件的属性。Control SelectorValuePU_CONTROL_UNDEFINED0x00PU_BACKLIGHT_COMPENSATION_CONTROL0x01PU_BRIGHTNESS_CO......
UAC 拓扑结构
UAC规范描述了以下类型的标准单元和终端,这些单元和终端被认为足以代表当前和近期可用的大多数视频功能:输入终端 - Input Terminal (IT)输出终端 - Output Terminal (OT)混音器单元 - Mixer Unit (MU)选择器单元 - Selector Uni......
UVC 处理单元特定类请求示例
笔者手中有一UVC摄像头,其处理单元描述符bUnitID为2,其处理单元描述符内容如下: -------- Video Control Processing Unit Descriptor -----------------------bLength ......
UAC 处理单元描述符
UAC处理单元描述符全称Processing Unit Descriptor,缩写这PUD.处理单元描述符和其它音频控制的单元/终端描述一样,也具有一个惟一的ID标识字段UnitID。UAC处理单元的功能处理单元(PU)表示音频功能内部的一个功能块,它将逻辑输入通道,分为一个或多个群集,并分成若干......
UAC 上下混音处理单元描述符
上下混合处理单元是UAC处理单元描述的一类,使用上下混合处理单元描述符来描述。UAC1.0上下混音处理单元描述符定义字段偏移字段字段长度值类型说明0bLength1数字该描述符的总长度:15+n+2*m1bDescriptorType1常量描述符类型......
UAC 杜比定向逻辑处理单元描术符
杜比定向逻辑处理单元描术符全乐Dolby Prologic Processing Unit DescriptorUAC1.0杜比定向逻辑处理单元描术符定义字段偏移字段字段长度值类型说明0bLength1数字该描述符的总长度:15+n+2*m1bDescrip......
UAC 立体扩展处理单元描述符
UAC1.0 立体扩展处理单元描述符定义字段偏移字段字段长度值类型说明0bLength1数字该描述符的总长度:15+n+2*m1bDescriptorType1常量描述符类型,CS_INTERFACE2bDescriptorSubtype1常......
UVC相机处理单元亮度、对比度、色调、饱合度和锐度抓包分析实践
UVC的拓扑结构中,有一个叫做处理单,其主要功能是设置或读取视频函数的处理单元内的视频控件的属性。这些属性主要是相机图显上的参数配置。根据UVC规范,相机处理单元支持的功能通过其UVC相机处理单元描述符bmControls字段的位域掩码来表示,其对应的值为1表示支持,为0表示不支持。具体支持的各......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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