UAC规范(USB音频)
+ -

UAC 上下混音处理单元描述符

2021-08-30 828 0

上下混合处理单元是UAC处理单元描述的一类,使用上下混合处理单元描述符来描述。

上下混音处理单元

UAC1.0上下混音处理单元描述符定义

字段偏移 字段 字段长度 值类型 说明
0 bLength 1 数字 该描述符的总长度:15+n+2*m
1 bDescriptorType 1 常量 描述符类型,CS_INTERFACE
2 bDescriptorSubtype 1 常量 描述符字类型:PROCESSING_UNIT
3 bUnitID 1 数字 该处理单元的ID
4 wProcessType 2 常量 UAC处理单元的类型,见下表UAC处理单元描述符的类型UP/DOWNMIX_PROCESS
6 bNrInPins 1 常量 该处理单元的输入管脚数量,固定为1
7 bSourceID 1 数字 该处理单元输入引脚连接的上接单元/终端ID
8 bNrChannels 1 数字 该处理单元的逻辑输出通道数量
9 wChannelConfig 2 位图 输出通道的位图掩码
11 iChannelNames 1 数字 描述第一个输出通道的字符串描述符索引
12 bControlSize 1 数字 bmControls的字节数
13 bmControls n 位图 设置为 1 的位表示支持控制:
D0:启用处理。
D1:模式选择。
D2..(n*8-1):保留
13+n iProcessing 1 数字 该处理单元的字符串描述符索引
14+n bNrModes 1 数字 该处理单元支持的模式个数:m
15+n waModes(1) 2 位图 模式 1 的逻辑通道
15+n+(m-1)*2 waModes(m) 2 位图 模式m 的逻辑通道

上下混合处理单元只有一个输入引脚,所以在处理单元描述的bNrInputs字段永远为1。
上下混音处理单元的输出由bNrChannels、wChannelConfig 和 iChannelNames 字段共同构成,它们共同描述了在处理单元的输出端实际存在哪些逻辑通道。 根据所选的操作模式,会有一个或多个通道可能未使用。

UAC音频处理单元描述符使用字段wProcessType来标识各种处理单元描述符的类型。

bmControls 字段是一个位图,表示上下混合处理单元中支持某些音频控制的可用性。 为了将来的可扩展性,bmControls 字段占用的字节数在 bControlSize 字段中指示。

bmControls 字段的位 D0 表示启用处理控制。 模式选择控制 (D1) 用于通过为音频设备选择不同的操作模式来改变处理单元的行为。
上下混音处理单元支持的模式数 (m) 包含在 bNrModes 字段中。 该字段后面是一组模式字段 waModes()。 该数组中的索引 i 是基于 1 的,并且与条目 waModes(i) 描述的模式编号直接相关。 值 i 必须用作设置模式请求的参数以选择模式 i。

waModes() 字段中的位分配与集群描述符中的 wChannelConfig 字段非常相似。即 waModes(i) 字段中设置的位表示对于 模式i,上/下混合处理单元为与设置位的位置相关联的逻辑通道产生有意义的音频数据。

每个 waModes(i) 字段只能包含输出通道集群中存在的那些逻辑通道的设置位。 换句话说,所有的 waModes() 字段只能包含 Unit 的集群描述符的 wChannelConfig 字段的一个子集。 此外,具有非预定义空间位置的逻辑通道不能在 waModes() 字段中标记为活动的。 因此默认情况下假定它们是活动的。

UAC2.0上下混音处理单元描述符定义

字段偏移 字段 字段长度 值类型 说明
0 bLength 1 数字 该描述符的总长度:15+n+2*m
1 bDescriptorType 1 常量 描述符类型,CS_INTERFACE
2 bDescriptorSubtype 1 常量 描述符字类型:PROCESSING_UNIT
3 bUnitID 1 数字 该处理单元的ID
4 wProcessType 2 常量 UAC处理单元的类型,见下表UAC处理单元描述符的类型UP/DOWNMIX_PROCESS
6 bNrInPins 1 常量 该处理单元的输入管脚数量,固定为1
7 bSourceID 1 数字 该处理单元输入引脚连接的上接单元/终端ID
8 bNrChannels 1 数字 该处理单元的逻辑输出通道数量
9 wChannelConfig 4 位图 输出通道的位图掩码
13 iChannelNames 1 数字 描述第一个输出通道的字符串描述符索引
14 bmControls 2 位图 D1..0:启用控制
D3..2:模式选择控制
D5..4:集群控制
D7..6:下溢控制
D9..8:溢出控制
D15..10:保留。 必须设置为 0
16 iProcessing 1 数字 该处理单元的字符串描述符索引
17 bNrModes 1 数字 该处理单元支持的模式个数:m
18 waModes(1) 4 位图 模式 1 的逻辑通道
18+(m-1)*4 waModes(m) 2 位图 模式m 的逻辑通道

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表示不支持。具体支持的各......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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