- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于stm32的软件音频解码库libmad移植手册基于stm32的软件音频解码库libmad移植手册
原创教程
UP MCU 工作室
Libmad 音频解码库移植手册
本手册由 UP MCU 作室编写,若要转载请注明出处
2012-8-12
UP MCU 工作室 淘宝店:
1
原创教程
UP MCU 工作室
前言
目前,网络上绝大都数关于MP3 播放器的例子,大都采用vs1003 这颗硬件解码芯片或
者使用AT89C51SND1C 这颗含有内部音频解码电路的NB 单片机,软件音频解码的例子少之又
少。UP MCU 作室的相关人员花了些时间、精力,研究了目前 linux 领域很常用的一个开
源音频解码库——libmad 的解码流程,并将其成功移植到裸奔的stm32 平台上。本着资源
共享的奉献精神,本工作室 移植过程整理成手册,发布于网络,希望对大家有用。
本手册移植工作所对应的软硬件平台如下:
操作系统:windows XP
开发环境:MDK V4.23
STM 固件库版本号:V3.5.0
主芯片 :STM32F103RET6 (512K flash 64KRAM)运行于72M
DA 芯片 :PCM1770PW
由于本人水平有限,文中若有不对的地方,欢迎拍砖。拍砖地址447926737wangkai@163.com
1.Libmad 简介
LIBMAD 是一个高质量的音频解码库,MAD 的全称是MPEG Audio Decoder。LIBMAD 目前
支持MPEG-1、低采样率的MPEG-2 和MPEG2.5 格式的Layer Ⅰ、Layer Ⅱ、LayerⅢ (即MP3)
的解码。
MAD 具有如下特性:
●高精度的24-BIT PCM 输出;
●100%使用定点运算;
●完全基于ISO/IEC 标准;
●支持GNU GPL 协议。
MAD 完全采用C 语言编写(里面的IMDCT 部分和乘法运算可根据平台不同使用汇编来加
快运算速度),它对MP3 解码算法做了很多优化,非常适合在没有浮点支持的嵌入式环境下
使用。利用MAD 提供的API,我们可以很容易的实现音频解码。
MAD 的源码我们可以在/projects/mad/files/下载到。
UP MCU 工作室 淘宝店:
2
原创教程
UP MCU 工作室
/products/mad 有关于libmad 的介绍和其他相关的资料,
其中madlld 这个项目是一个libmad 低层API 的demon,我的解码工作就是移植libmad 和
利用madlld 搭好的框架解析MP3 数据得到PCM 格式的数据。
2. Libmad 简单分析
下载 libmad-0.15.1b 解压后除了msvc++这个文件夹,其他的都是单个文件。其中所有
的.C、 .H、.dat 文件都是我们所需要的。minimad.c 这个文件是对libmad 高层API 的使用
示例,从代码中可以看到它是基于类unix
您可能关注的文档
- 厦门三维丝环保股份有限公司 年年度报告摘要厦门三维丝环保股份有限公司 年年度报告摘要.pdf
- 厦门市中考中考选择题精析厦门市中考中考选择题精析.ppt
- 厦门精川超声波明渠污水流量计说明书厦门精川超声波明渠污水流量计说明书.pdf
- 厨师长工作报告厨师长工作报告.ppt
- 去年A轮融资的846家创业公司,历经痛苦被市场抛弃去年A轮融资的846家创业公司,历经痛苦被市场抛弃.doc
- 友爱残疾人友爱残疾人.ppt
- 双向板 计算步骤双向板 计算步骤.doc
- 双手合十!~我们开始祈福吧。为了新的一年!!双手合十!~我们开始祈福吧。为了新的一年!!.pdf
- 双语三年级汉语上册教案双语三年级汉语上册教案.doc
- 双调夜行船双调夜行船.doc
文档评论(0)