交叉工具编译ARM平台Opus音频库

     最近项目中使用到opus音频库,这是一款开源的高效的音频库。其优点相对于AAC编码来说,编码效率高,据说相同带宽下,音频质量完爆AAC,而高带宽下音质接近原始音频(不喜勿喷^_^)。详情及源码见官网http://www.opus-codec.org/

     源码可以直接编译x86平台的库,想要编译ARM平台下,需一番配置。

     首先配置交叉编译工具,交叉编译工具链网上有一大堆,Google官网也有官方的,请自行下载。

sh ~/sdk/android-ndk-r14b/build/tools/make-standalone-toolchain.sh \
        --platform=android-19 --install-dir=/tmp/my_toolchain

     请注意第一行后面的连接符,platform默认使用android-19,可根据实际情况自行修改。

     创建一个env.opus文件,内容如下:

#!/bin/sh

export PATH=/tmp/my_toolchain/bin:$PATH
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++

./configure --host=arm-linux --enable-fixed-point --disable-float-api \
			CFLAGS="-O3 -mfpu=neon -mfloat-abi=softfp" HAVE_ARM_NEON_INTR=1

为了提高库的运行效率,分别做了如下优化:启用定点数运算,禁用浮点数运算,O3优化,neon优化,使用软浮点库进行浮点运算。

PS: 从Opus提供的编译脚本来看,要彻底开启neon以后,还需要添加“HAVE_ARM_NEON_INTR=1”

本地实测编译通过,可正常使用(只测试了静态库,动态库自行测试)。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值