在ARM HI3531 linux上优化FAAC1.28运行速度

转载地址:https://blog.csdn.net/zz603976046/article/details/77683543

前面写一篇文章介绍如何编译FAAC1.28

http://blog.csdn.net/zz603976046/article/details/76904265

****************************************************************************************************************************

下面是别人写的优化,我测试了好像效果不咋样

 

FAAC1.28的下载地址:http://www.audiocoding.com/downloads.html

如何编译:

1../configure --host=arm-hisiv100nptl-Linux --prefix=/home/ssy/lib

2.make

3.make install

优化

在不修改源码的情况下,faac的内存占用非常高,每路音频在13M左右。如果多路音频的话,内存将很快耗尽。

搜索MAX_CHANNELS的定义,默认是6 和64,全部改成1(一般都是单声道)。

重新编译,运行,内存占用降为2.5M左右。

**********************************************************************************************************************************************

下面是我测试有效的

因为多数情况下我们需要运行在ARM上进行实时编码发送,原来在HI3531平台上运行速度编码一次需要20ms,现做一个编译上的优化后速度变为10ms

使用以下命令编译

 

 


 
  1. cd faac-1.28

  2. make clean

  3. #./configure CXX=arm-hisiv300-linux-g++ CC=arm-hisiv300-linux-gcc --host=arm-linux --with-mp4v2=no

  4. ./configure CXX=arm-hisiv300-linux-g++ CC=arm-hisiv300-linux-gcc --host=arm-linux --with-mp4v2=no CFLAGS="-mfpu=vfp -mfloat-abi=softfp" CXXFLAGS="-mfpu=vfp -mfloat-abi=softfp"

  5.  
  6. make

  7. make install


 

 

编译应用程序

 


 
  1. OBJ_BIN=./aac_lib_v300/faac_v300

  2. SRC_FILE=faac_test.cpp

  3. arm-hisiv300-linux-gcc $SRC_FILE -o $OBJ_BIN -L/usr/local/lib -lfaac -I/usr/local/include -lsupc++ -mfpu=vfp -mfloat-abi=softfp


 

 

核心就在于使用-mfpu=vfp -mfloat-abi=softfp来是linux编译float计算优化

 

优化前PCM转AAC一段37s左右的文件耗时约68s接近70s左右

优化后我PCM转AAC一段37s左右的文件耗时约34.696712 s

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章