当前位置:  技术问答>linux和unix

怪问题(音频解码)

    来源: 互联网  发布时间:2015-09-25

    本文导语:  我移植一个MP3的解压算法时,在PC机上用gcc编译后,执行正确且速度快.但是,我用arm-linux-gcc编译后烧到板子(EP7312)上的时候,执行程序也能正常运行,可是速度非常的慢,几乎两个小时才能完成PC上几秒钟的...

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

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

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

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

|
建议你尽量不要用数学库, 因为里面的基本上都是浮点运算, 而如果你的目标CPU不含有数字协处理器的话, 结果你想想也就明白了.....

建议你尽可能修改代码, 使用整数运算代替浮点运算(无论是数学函数还是加减乘除).
祝你好运!

    
 
 

您可能感兴趣的文章:

  • 百分求救:mplayer的解码器设置问题
  • 简单的问题解码
  • 关于邮件编码解码的问题。
  • ★★★(解决问题,倾家荡产回报)有关AC3 的解码和编码,内有代码的网址!!!★★★
  • 在java里有关编码和解码的问题:比如对中文编码成BASE64或quoted-printable或者是其他的,应该用什么类什么方法?请赐教!!
  • JSP中js传递和解析URL参数以及中文转码和解码问题
  • 不知道有没有人从事过mp3的解码工作,有点side info 问题请教?
  • PXA270下利用IIS通道实现音频,重复启动死机问题求解
  • 小弟雪地里跪求:关于音频设备的问题》
  • 关于播放音频的问题
  • gstreamer音频文件截取问题,高手请进!!
  • alsa音频驱动录音问题
  • 请教传输音频数据问题
  • 请教HDMI音频输出问题
  • 一个简单的音频编程问题
  • ffmpeg 音频重新采样问题!!
  • 提问:关于JAVA处理网络音频传输的问题????
  • Alsa音频驱动的问题,希望大家给点意见,不甚感激!
  • 音频驱动问题
  • 关于音频缓冲区的设置问题,请教高手!
  • PXA255平台Linux下音频编程问题。求大虾指点
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • CSS属性参考手册 iis7站长之家
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


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

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

    浙ICP备11055608号-3