在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

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