新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM平台的MP3软解码算法研究与实现

基于ARM平台的MP3软解码算法研究与实现

作者:时间:2016-10-10来源:网络收藏

3.1 解码器引擎初始化
文件初始化解码器,初始化过程中,解码器读取每一帧的帧头信息而不对数据进行解码,快速计算出该文件的播放时间,并根据文件大小以秒或分钟为单位内建解码位置索引。解码位置索引的目的是为了快速的根据时间定位待解码数据在文件中的位置。

本文引用地址:http://www.eepw.com.cn/article/201610/306022.htm


数据流缓存提供的功能有以下几点:
初始化:该功能申请堆中的一块内存,用于以后存放缓存数据。
注销:负责释放初始化时申请的内存。
写入数据:向缓存的当前写入位置后写入指定大小的数据。
跳过指定大小数据:将当前读取位置移动到指定位置。
获取错误信息:返回操作过程中产生的错误信息。
帧同步:将读取位置跳转到下一帧开始位置。该操作的主要算法是每次读取缓存11个比特,若这些比特全为1,则把其当做下一帧的开始位置。通过研究可知,该种算法并不能准确判断下一帧的开始,但这种算法不进行帧头解码,也不会漏掉数据。从时间和空间上讲,都是一种比较好的选择。
解码引擎以帧为解码单位,每次输出一帧的解码输出结构,结构中包括pcm数据、长度、采样率、声道数,播放时间等信息。
g.JPG



评论


相关推荐

技术专区

关闭