AMRWB优化

 经过1个月时间的优化,AMR-WB解码性能总体提高了近10倍。

1. 从ITU官方网站下载代码,在ADS1.2上调试通过。对于测试码流为23.85kbps的向量tst_m8.cod,在ARM926EJS平台上,性能

    为105MIPS,156MCPS。

2. 根据profile的测试结果,占时间最大的是那些基本算术运算的操作。用ARMv5的内联汇编替换掉以后,性能大概为52MIPS,

    70MCPS。

3. 这时占时间的函数

  Filt_7k
  Syn_filt_32
  Filt_6k_7k
  Pred_lt4
  Syn_filt
  Oversamp_16k
 
 

           这几个函数都需要自己写汇编,只有汇编才能体现优化思路,C的优化很有限。这几个函数的汇编优化完以后,性能就在17MIPS,

     20MCPS左右了。

4.现在占时间的函数就变成下面的样子了:

 

  

 decoder
 Serial_parm
 Syn_filt_32
 HP400_12k8
 HP50_12k8

 

  这几个函数,主要是C的优化。把这些优化完,性能大概13MIPS,16.5MCPS。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2009-11-27 11:40  celerychen  阅读(392)  评论(0编辑  收藏  举报