打印

Type I Format Type Descriptor中bSubframeSize表示什么意思

[复制链接]
3436|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
黑月铁塔|  楼主 | 2012-8-22 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Offset     Field     Size     Value     Description      
0     bLength     1     Number     Size of this descriptor, in bytes: 8+(ns*3)      
1     bDescriptorType     1     Constant     CS_INTERFACE descriptor type.      
2     bDescriptorSubtype     1     Constant     FORMAT_TYPE descriptor subtype.      
3     bFormatType     1     Constant     FORMAT_TYPE_I. Constant identifying the Format Type the AudioStreaming interface is using.      
4     bNrChannels     1     Number     Indicates the number of physical channels in the audio data stream.      
5     bSubframeSize     1     Number     The number of bytes occupied by one audio subframe. Can be 1, 2, 3 or 4.      
6     bBitResolution     1     Number     The number of effectively used bits from the available bits in an audio subframe.      
7     bSamFreqType     1     Number     Indicates how the sampling frequency can be programmed: 0: Continuous sampling frequency 1..255: The number of discrete sampling frequencies supported by the isochronous data endpoint of the AudioStreaming interface (ns)      
8...                 See sampling frequency tables, below.      

这个bSubframeSize     1     Number     The number of bytes occupied by one audio subframe. Can be 1, 2, 3 or 4.      没看懂是什么意思。哪位知道告知一声。


看下面实例
HT82A824R 有一个Isochronous Out 端点 (Endpoint)。Isochronous Out 是用来将PC 的播放媒体的语音数据通过USB Port 传给装置,语音数据设置为PCM 格式,假设是在48kHz/16-bit/2-CH 情况下,一个Frame 传192 Bytes 数据,所以此端点的Ping-Pong Buffer大小总共为384 Bytes,在描述符 (Descriptor) 关于播放语音格式的定义如下文字描述所示,在此描述符定义了播放频率、一个Frame 的数据量、端点号码与端点的方向等;HT82A824R的Endpoint Number 设置为2 ; 如下的描述语言支持48kHz/16-bit/2-CH 与44.1kHz/16-bit/2-CH 两种格式。

format_type_descriptor:
;support 48K/44.1K
DW 0240EH ;descriptor type(CS_INTERFACE) , size of descriptor (add 44.1 KHz)
DW 00102H ;FormatType(FORMAT_TYPE_I) , descriptorSubType(FORMAT_TYPE)
DW 00202H ;SubFrameSize(2 byte per slot) , number of channel(2 channels)
DW 00210H ;SamFreqType(support 2 type) , BitSolution(16 bits)(add 44.1 KHz)
DW 03F80H ;Sample Frequency(48000 Hz)
DW 000BBH ;
DW 03F44H ;Sample Frequency(44100 Hz)
DW 000ACH ;
end_point_descriptor:
DW 00509H ;descriptor type(END_POINT) , size of descriptor
DW 00902H ;endpoint attributes(adaptive,isochronous) , endpoint2(out direction)
DW 000C0H ;maxPacketSize(192 bytes)
DW 00001H ;Refresh(0) , Interval(1ms)
DW 03F00H ;index string of this descriptor

相关帖子

沙发
dbykqsy| | 2012-8-22 15:24 | 只看该作者
类似于:我中bsubframesize格式类型说明符类型

使用特权

评论回复
板凳
黑月铁塔|  楼主 | 2012-8-22 17:32 | 只看该作者
2# dbykqsy

能不能举个例子说明一下??

使用特权

评论回复
地板
恋子炎| | 2013-6-16 16:29 | 只看该作者
哥们,如果我没看错,你的采样位是<=16bit的吧,这就是为什么bSubframeSize的值是2了,2*8=16正好是16个bit。也就是每一个音频帧(微帧)就是16个bit。
注意到你的bSamFreqType值是0x02,支持44.1k和48k的频率。我想请教一下楼主,你是如何切换这2个频率的,因为不同频率的时候,CODEC的采样频率也要在两者之间切换。可否将你的完整的描述符打包看一下啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

0

粉丝