当前位置:  技术问答>java相关

不知道有没有人从事过mp3的解码工作,有点side info 问题请教?

    来源: 互联网  发布时间:2015-03-15

    本文导语:    我看过一些mp3解码的文章,还是不知道怎么mp3的帧中的side info 怎么取出来? 问一下:对于MP3来讲,除掉帧头4个字节和两个CRC字节后,紧接着应该是side info ,那么,side info 有多少个字节组成?谁能告诉我,每...

  我看过一些mp3解码的文章,还是不知道怎么mp3的帧中的side info 怎么取出来?
问一下:对于MP3来讲,除掉帧头4个字节和两个CRC字节后,紧接着应该是side info ,那么,side info 有多少个字节组成?谁能告诉我,每个bit代表的意思?如side info 开始的0--9 bits 代表 main_data_begin .
  有相关的link也可!
  
  谢!!

|
Mpeg 1.0/2.0 LayersI, II and III header and trailer formats
-----------------------------------------------------------

Laurent.Clevy@alcatel.fr



* HEADER


bits name              comments
--------------------------------------------------
12   sync              0xFFF
1    version           1=mpeg1.0, 0=mpeg2.0
2    lay               4-lay = layerI, II or III
1    error protection  0=yes, 1=no
4    bitrate_index     see table below
2    sampling_freq     see table below
1    padding
1    extension         see table below
2    mode              see table below
2    mode_ext          used with "joint stereo" mode
1    copyright         0=no 1=yes
1    original          0=no 1=yes
2    emphasis          see table below
--------------------------------------------------

- bitrate_index

. mpeg1.0

            1  2  3   4   5   6   7   8   9  10  11  12  13  14
layer1     32 64 96 128 160 192 224 256 288 320 352 384 416 448
layer2     32 48 56  64  80  96 112 128 160 192 224 256 320 384
layer3     32 40 48  56  64  80  96 112 128 160 192 224 256 320

. mpeg2.0

            1  2  3   4   5   6   7   8   9  10  11  12  13  14
layer1     32 48 56  64  80  96 112 128 144 160 176 192 224 256
layer2      8 16 24  32  40  48  56  64  80  96 112 128 144 160
layer3      8 16 24  32  40  48  56  64  80  96 112 128 144 160


- sampling_freq

. mpeg1.0

    0     1     2     

44100 48000 32000 

. mpeg2.0

    0     1     2     

22050 24000 16000 


- mode:

0 "stereo"
1 "joint stereo"
2 "dual channel"
3 "single channel"


- mode extension:
 
0      MPG_MD_LR_LR
1      MPG_MD_LR_I
2      MPG_MD_MS_LR 
3      MPG_MD_MS_I

jsbound :

   mode_ext     0  1   2   3
layer
1               4  8  12  16
2               4  8  12  16
3               0  4   8  16


- emphasis:

0 "none"
1 "50/15 microsecs"
2 "reserved"            must not be used !
3 "CCITT J 17"




* TRAILER

at end of file - 128 bytes

offset  type  len   name
--------------------------------------------
0       char  3                   "TAG"
3       char  30    title
33      char  30    artist
63      char  30    album
93      char  4     year
97      char  30    comments
127     byte  1     genre
--------------------------------------------

- genre :

 0    "Blues"
 1    "Classic Rock"
 2    "Country"
 3    "Dance"
 4    "Disco"
 5    "Funk"
 6    "Grunge"
 7    "Hip-Hop"
 8    "Jazz"
 9    "Metal"
10    "New Age"
11    "Oldies"
12    "Other"
13    "Pop"
14    "R&B"
15    "Rap"
16    "Reggae"
17    "Rock"
18    "Techno"
19    "Industrial"
20    "Alternative"
21    "Ska"
22    "Death Metal"
23    "Pranks"
24    "Soundtrack"
25    "Euro-Techno"
26    "Ambient"
27    "Trip-Hop"
28    "Vocal"
29    "Jazz+Funk"
30    "Fusion"
31    "Trance"
32    "Classical"
33    "Instrumental"
34    "Acid"
35    "House"
36    "Game"
37    "Sound Clip"
38    "Gospel"
39    "Noise"
40    "AlternRock"
41    "Bass"
42    "Soul"
43    "Punk"
44    "Space"
45    "Meditative"
46    "Instrumental Pop"
47    "Instrumental Rock"
48    "Ethnic"
49    "Gothic"
50    "Darkwave"
51    "Techno-Industrial"
52    "Electronic"
53    "Pop-Folk"
54    "Eurodance"
55    "Dream"
56    "Southern Rock"
57    "Comedy"
58    "Cult"
59    "Gangsta"
60    "Top 40"
61    "Christian Rap"
62    "Pop/Funk"
63    "Jungle"
64    "Native American"
65    "Cabaret"
66    "New Wave"
67    "Psychadelic"
68    "Rave"
69    "Showtunes"
70    "Trailer"
71    "Lo-Fi"
72    "Tribal"
73    "Acid Punk"
74    "Acid Jazz"
75    "Polka"
76    "Retro"
77    "Musical"
78    "Rock & Roll"
79    "Hard Rock"
80    "Unknown"



- frame length :

. mpeg1.0

layer1 :
 (48000*bitrate)/sampling_freq + padding
layer2&3:
 (144000*bitrate)/sampling_freq + padding

. mpeg2.0

layer1 :
 (24000*bitrate)/sampling_freq + padding
layer2&3 :
 (72000*bitrate)/sampling_freq + padding

    
 
 

您可能感兴趣的文章:

  • 请教:如何知道在LINUX下设备所对应的文件?
  • 请教,如何知道内存中某个驱动模块是否已经被加载??
  • 请教高手:C语言怎么知道一个进程是否存在(Linux下)
  • 我看一个头文件,不知道“__THROW”是什么意思,请教高人!
  • 请教ghost备份linux分区!有大大知道的请告知~谢谢~
  • 在linux下面怎么安程序啊?我刚裝了一个 linux,下了一个迅雷安装程序,可是不知道怎么安装啊?真心请教。
  • 博客 iis7站长之家
  • 向大家请教一个问题!我也不知道属于哪一类的!
  • 高分请教--如何知道对方ip的真实来源
  • 看到一个问题不错,我也想知道,就转过来,请教各位:如何让虚拟空间用户不能执行他自己文件外的文件操作命令?
  • 写一个方法,向它传递一个对象,循环打印出对象层次结构中的所有类?thinking in java里面的一个习题不知道如何做请教高手?
  • 请教:我安装了 Fcitx-3.2.1 稳定版 ,但是不知道怎么把它切换出来?谢谢!
  • 请教:SSH登陆执行的情况下,有没有可能知道某一次登陆都执行了什么命令?
  • 请教一个不知道该怎么google的问题~
  • 200分请教,如何知道数据包的大小
  • 请教使用JList JComboBox JTree(这个不知道是不是这个名字 反正是树型结构)的用法
  • 我想学Linux,不知道如何下手,请教各位大虾,我应该怎么学习?
  • 请教一个shell中调用sqlplus,其中sql语句中有$符号,需要转义,不知道怎么写转义才对,比较急,在线等,谢谢!
  • 抱歉,没分了!!!请教linux下,用C/C++编程,如何知道我要实现某一功能需要用到什么函数
  • 请教一个问题,我买了LINUX8.0五张盘的,但我不知道怎么安装呀,我已有WIN2000系统,我想再装一个LINUX8.0,使两个系统并存.怎么装呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 以后 想从事嵌入式开发方面的工作,不知道前途怎么样啊??欢迎各位讨论,希望高指路
  • 如何知道在linux下面如何知道mysql服务是用哪个端口啊
  • 那位知道怎样能知道 linux C/C++文件它所依赖的文件
  • 哪位大哥知道?我怎样知道LINUX redhat 7.2下声音设备由哪个应用程序占用?
  • 我做了个简单的留言板,不知道如何知道留言者的ip地址?
  • 只知道一个命令, 不知道其进程,问如何停止它?
  • red hat linux 9.0安装问题,不知道有人知道吗?
  • 知道进程的ID,有什么函数知道这个进程还活不活?
  • 我插入USB设备,知道是1-1:1.0下面,如何知道ttyUSB?
  • UI小问题,可我就是不知道怎么实现,或许您知道……
  • 我在rh8下装了wine,可是我不知道装到哪里了,那位知道默认路径?
  • 请问如何在不知道对方IP,仅知道MAC地址的情况下和对方通信呢?
  • 已知一个进程的PID,但不知道这个进程是否停止,如何能知道系统中是否有相应的进程在运行。
  • 不知道这个问题是否有人知道!
  • 在不知道表结构的前提下,怎样把该表的一条记录打印出来?(即不知道各字段类型时,用哪个方法?)
  • SUN OS5.8怎么没有make ,我想装APACHE2.0不知道怎么下手,原来的APACHE1.3有不知道怎么卸载
  • 要在arm开发板上实现DHCP+方式拨号上网,谁能给点下手的思路,知道不知道都给点意见吧?
  • 可信计算你知道嘛?红旗的可信计算你知道嘛?
  • 我装了jbuilder5,知道sn,但没有注册,每次启动都要跳出个jbuilder licence,要你注册,烦得很,那位大虾知道注册码,千万告诉小弟我,谢了
  • 我现在只有debian kernel 2.6,我把disc1的iso格式释放到了我的硬盘上面,我不知道里面有什么软件,也不知道怎样安装这些软件,莫展一筹
  • 一JSP网站,统一指定一个errorPage页面,统一处理异常,在指定的errorPage页面中,我想知道具体是哪个页面出错的,即想知道出错页面的具


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3