找回密码
 立即注册
查看: 859|回复: 6

minimp3解码库使用@STC32G144K246 的尝试,大家一起来帮忙

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:199
  • 最近打卡:2026-04-01 21:01:27

16

主题

97

回帖

966

积分

高级会员

积分
966
发表于 2025-12-7 02:23:49 | 显示全部楼层 |阅读模式

使用的IDE是小熊猫C++
编译器为mingw64.

自行修改main.c中的wavpath和mp3path

upload 附件:mp3frameLUT测试.zip

我删除了大量的代码,包括各种平台的针对优化都删了,只保留了layer3的解码部分,layer1和2已经没人用了也删了。

如果想直接解码后播放,记得声明libwinmm.a位置,如果遇到因为wav播放部分的代码导致的编译不了,播放不了,建议直接删除wav播放相关的代码,直接用其他播放器播放输出的wav。

如果想要移植到51上,记得把关键字int处理一下

image.png

mpeg1/2/2.5 layer3帧头结构

这里面的比特率是mpeg1的,2和2.5的与1不同

mpeg1-帧头位图数据.drawio.png

mpeg1 layer3边信息结构(在帧头后面)

mpeg1边信息位图.drawio.png
mpeg2/2.5边信息结构

mpeg2和mpeg2.5边信息结构.drawio.png

mpeg1 layer3主数据结构
mp3主数据结构.drawio.png

minimp3采用了多种方式优化解码,仅看layer3的解码的核心huffman解码和缩放因子解码以及imdct解码部分就采用多种优化方法,大量使用常数减少浮点数三角函数开方计算
huffman部分采用数组模拟多叉树,但是又不仅仅是普通的多叉树,而是混合多叉树,每个分支节点都记录了自己有几个分支,这样可以减少冗余数据,一次可以从位流种解码多位数据,此外还直接用宏展开了码流读取的代码,增加效率。

imdct解码也采用了优化算法,先将IMDCT转换为iDCT-II然后用DCT-iii计算结果。

在解码的反量化步骤中涉及到2的幂运算和​\frac{3}{4}次方的幂运算,但是minimp3的处理方式十分精妙,可以说minimp3解码库的优化程度十分的高。

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:368
  • 最近打卡:2026-04-02 08:50:05

844

主题

1万

回帖

2万

积分

管理员

积分
22799
发表于 2025-12-10 14:46:01 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:368
  • 最近打卡:2026-04-02 08:50:05

844

主题

1万

回帖

2万

积分

管理员

积分
22799
发表于 2025-12-7 10:11:34 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:199
  • 最近打卡:2026-04-01 21:01:27

16

主题

97

回帖

966

积分

高级会员

积分
966
发表于 2025-12-8 20:07:46 | 显示全部楼层
效果

output.wmv (7.36 MB, 下载次数: 26)

点评

您好,加您QQ一直没有通过,方便的话通过一下QQ,或者加我微信:18012226281  详情 回复 发表于 2025-12-23 11:59
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2026-04-02 09:13:44

1

主题

17

回帖

187

积分

注册会员

积分
187
发表于 2025-12-10 09:37:01 | 显示全部楼层
MP3格式也能解码么?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:368
  • 最近打卡:2026-04-02 08:50:05

844

主题

1万

回帖

2万

积分

管理员

积分
22799
发表于 2025-12-21 21:46:04 | 显示全部楼层
帮提供 在 STC 单片机上运行解码MP3文件并播放的视频,
本坛会提供辛苦费
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2026-03-27 11:01:32
已绑定手机

26

主题

90

回帖

976

积分

版主

积分
976
发表于 2025-12-23 11:59:09 | 显示全部楼层

您好,加您QQ一直没有通过,方便的话通过一下QQ,或者加我微信:18012226281
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-4-2 22:54 , Processed in 0.116655 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表