CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

怪问题(音频解码)

楼主ouyangcamel()2005-04-21 17:26:24 在 Linux/Unix社区 / 程序开发区 提问

我移植一个MP3的解压算法时,在PC机上用gcc编译后,执行正确且速度快.但是,我用arm-linux-gcc编译后烧到板子(EP7312)上的时候,执行程序也能正常运行,可是速度非常的慢,几乎两个小时才能完成PC上几秒钟的解码,但是最后解码后的结果是正确的.  
  困惑了很长时间也找不到原因.也试了对所有自己能想到的问题(当然由于我菜鸟的考虑范围也比较狭窄)修改后去试,每次都是一样的.由于解码要用到标准数学库,会不是是这个方面的原因??可是两者速度上不该有这么大的差别吧.  
  由于我也找不到真正的症结,所以也不知道如何明白清晰而又简捷的向各位高手提出问题,所以麻烦大家看这么多字了,还希望能给些有益的提示,在此感谢先.  
  问题点数:30、回复次数:7Top

1 楼ericzhangali(另一个空间)回复于 2005-04-22 09:48:29 得分 5

和库应该没什么关系吧?两小时   VS   几秒?这么夸张?目标平台什么环境?Top

2 楼Benni()回复于 2005-04-26 16:49:20 得分 5

建议你尽量不要用数学库,   因为里面的基本上都是浮点运算,   而如果你的目标CPU不含有数字协处理器的话,   结果你想想也就明白了.....  
   
  建议你尽可能修改代码,   使用整数运算代替浮点运算(无论是数学函数还是加减乘除).  
  祝你好运!Top

3 楼ouyangcamel()回复于 2005-04-29 14:22:29 得分 0

非常感谢二位的指教.  
  毫不夸张,就是"两小时   VS   几秒",我的目标平台是:linux2.4.13,cross2.95.3,ep7312;(不好意思,对目标平台的详细概念有些模糊,所以就罗列...)  
  不用数学库????可是见到的一些音频的解压算法好象没有不用数学库的,不用的话编译都无法通过的,我到底怎么来"用整数运算代替浮点运算(无论是数学函数还是加减乘除)"???麻烦你再说的详细些.  
  非常感谢二位的指教.Top

4 楼qfxx(秋风萧萧)回复于 2005-04-29 17:35:53 得分 10

对ARM不太熟  
  但应该和单片机类似  
  适合于定点运算  
  你直接把浮点程序考到ARM上运行当然不行  
  你要把浮点程序改成定点程序  
  然后再移植到ARM上运行  
  多数数学库都是针对PC开发的  
  效率低Top

5 楼Benni()回复于 2005-04-30 10:20:11 得分 10

坦率的讲,   我觉得跨平台移植MP3的解压算法,   而且要速度很快的话,   需要非常高的水平.   按你目前讲的情况来看,   就是因为ARM处理器在处理浮点运算消耗了大量的时间(因为结果是正确的).   你在网上找找还有没有其他的算法能够提供足够速度,或者仔细看看你的ARM   CPU到底有没有浮点协处理器,   怎样使用协处理器.   否则的话,我建议你放弃吧,   因为你得使用定点数字自己重新实现MP3的解压算法,别的,   恐怕没什么好方法.    
  我曾经接触过一个水平很高的博士,   他在Palm(龙珠68K)上实现JPEG解码算法,   花了好几个月呢,   就是因为CPU慢,   他基本上把JPEG解码算法字节自己写了一遍.   我想,   MP3的解码算法不会比JPEG解码算法简单的吧?Top

6 楼ouyangcamel()回复于 2005-04-30 10:30:37 得分 0

非常感谢二位的指点,意义重大,对于我个人来说!:)  
  听了二位的分析,那我就去尝试看看其他的算法,同时去看看这个芯片有没有浮点协处理器,有什么新问题后还要继续讨教各位了.  
  我对这个论坛不熟悉,但没有想到首次发问还是得到了大家热情的指点,再次感激,还望以后多多指教.Top

7 楼ouyangcamel()回复于 2005-04-30 10:40:49 得分 0

不好意思,我不太熟悉怎么给分,它总是提示我"所给总分不符合",但我确实加起来是30分啊,嘿嘿,不好意思,想答谢都这么难!:)Top

相关问题

  • 有关mp3音频编解码器的怪问题。
  • 关于音频解码器:
  • AVI中的音频流如何解码?
  • [音频编/解码]求救,FAAD解码出现错误.
  • 使用Microsoft G.723.1的音频编码解码器的问题
  • 谁有音频解码的算法代码?发一份
  • 怎样利用windows提供的音频编解码程序进行音频格式的转换?
  • 求助!有哪些开源的音频,视频编解码代码?
  • H.263视频的编解码和AMR音频的编解码是否需要收费?向谁交费呢?收费标准是怎样的?
  • 将AVI文件的音频解码转换成mp3格式,它的文件头会不会变化?

关键词

  • mp3
  • 算法
  • 解码
  • 数学
  • 移植
  • arm
  • jpeg
  • 平台
  • cpu
  • 浮点

得分解答快速导航

  • 帖主:ouyangcamel
  • ericzhangali
  • Benni
  • qfxx
  • Benni

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo