本文共 636 字,大约阅读时间需要 2 分钟。
ffmpeg移植到android
1、在config.h的#define av_restrict restrict前加一句,#define restrict;或者直接#define av_restrict。
2、libavutil/libm.h删除所有static方法。
3、libavutil/time.h更名,我改的是avtime.h;原因是与系统头文件冲突了,libavutil中的文件引用<time.h>本意是引用系统头文件,被同目录下的与系统同名的头文件覆盖。
4、相应地将引用libavutil/time.h的地方修改为libavutil/avtime.h。
加上汇编优化的方法:
方法一:在libavcode、libavutil、libavformat的Makefile中直接加上./arm/Makefile的内容。
方法二:在av.mk中-include $(LOCAL_PATH)/arm/Makefile;再修改arm/Makefile中相应优化选项的目标为OBJS。
方法二比较死板,还需要改进。
window下使用ndk需要注意的:
1、需要在配置脚本中指定临时路径
export TMPDIR="d:/android_ndk/temp"
2、ndk build时可能会出现argument list is too long,这个是windows系统限制。
可以在配置脚本中关掉一些目标进行编译。如--disable-muxers关掉所有的复用器。
转载地址:http://kcdvi.baihongyu.com/