FAAC在HI3518E上移植

因为工作忙,博客写的比较乱,就当是给自己的一个备忘录。

由于MP4需要使用AAC编码的音频数据,所以需要将PCM数据转换成AAC,使用的工具是FAAC。

FAAC1.28的下载地址:An Introduction to the World of Java Programming - AudioCoding.com

1、将源码解压后,将libfaac/coder.h里的MAX_CHANNELS改成1,如果默认是64的话应该是占用内存太大,导致内存不够用。

2、在faac-1.28目录下,执行

./configure --host=arm-hisiv300-linux --prefix=/home/swann/nfs/faac/arm --disable-dependecy-tracking --enable-shared --enable-static --with-pic --without-mp4v2

注意--prefix目录使用自己的。如果编译出错,检查一下交叉编译器是否有效,另外make clean一下。

然后执行make和make install

3、将生成的lib/libfaac.a拷贝到mpp/lib目录中。在要调用的文件的Makefile中,加上-lfaac,参考如下:

$(CC) $(INC) $(CFLAGS) -lpthread -lm -o $@ $^ $(MPI_LIBS) $(AUDIO_LIBA) $(SENSOR_LIBS) -lfaac -lmp4v2 -lstdc++ -lm -L $(CURRENT)/../../lib

然后编译要执行的文件。

4、在函数中调用faacEncOpen,如果成功,证明faac就可以使用了。

    unsigned long inputSample = 0;
    unsigned long maxOutputBytes = 0;
    faacEncHandle encoder = {0};

    encoder = faacEncOpen(8000 , 1 , &inputSample, &maxOutputBytes);
    printf("nInputSamples = %d nMaxOutputBytes = %d\n",inputSample,maxOutputBytes);

    faacEncClose(encoder);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值