Android 编译器,Android 编译服务器
之前需要将分量转换为使用联合图象专家组文件交换格式存储的编码图像文件扩展名图像,查看网上说libjpeg-turbo比标准库快2-3倍,但是在机器人手机上实践了一下,需要40-60个ms,这个虽然比以前的300毫秒好多了,但是还是不能满足我的要求,进一步查看了网上信息,libjpeg-turbo是为x86和x86-64进行优化的使用了单指令多数据指令,而手机上不支持,所以需要在试验一下标准库的需要。下面是我的编译步骤:
1、先到官网上下载源码http://www.ijg.org/files/jpegsr9.zip最新的是jpegsr9
2、然后加压,生成jpeg-9,进入并创建调用目录,将里面的内容都拷贝到调用里面
3、生成配置文件,在调用目录下面创建config.sh文件,然后在里面添加:
NDK=/opt/android-ndk-r8d
平台=$ NDK/平台/安卓-8/拱臂/
预构建=$ NDK/工具链/arm-Linux-Android Abe-4。4 .3/预构建/linux-x86
CC=$ pre build/bin/arm-Linux-androideabi-gcc。/configure-prefix=/home/JPEG-9/JNI/dist-host=arm CC= $ CC-sys root=$ PLATFORM
4、然后改变config.sh的权限,并执行,得到配置文件:
LOCAL_C_INCLUDES :=$(LOCAL_PATH)
LOCAL _ CFLAGS:=-O3-fstrict-aliasing-fprefetch-loop-arrays-Dan droid \
-Dan droid _ TILE _ BASED _ DECODE-den able _ ANDROID _ NULL _ CONVERT
包含$(构建共享库)
6、运行ndk-build,结果如下:
7、由于我只想要编码所以精简了代码,将编译出的库只包含编码,不包含解码库,下面的代码如下,只需要替换Android.mk文件相同部分就可以:
LOCAL _ SRC _ FILES:=jniff mpeg/appdecodeh 264。c \
jniffmpeg/yuv420rgb565.s \
jniffmpeg/yuv2jpg.c \
jpeg-9/jaricom.c \
jpeg-9/jcapimin.c \
jpeg-9/jcapistd.c \
jpeg-9/jcarith.c \
jpeg-9/jccoefct.c \
jpeg-9/jccolor.c \
jpeg-9/jcdctmgr.c \
jpeg-9/jchuff.c \
jpeg-9/jcinit.c \
jpeg-9/jcmainct.c \
jpeg-9/jcmarker.c \
jpeg-9/jcmaster.c \
jpeg-9/jcomapi.c \
jpeg-9/jcparam.c \
jpeg-9/jcprepct.c \
jpeg-9/jcsample.c \
jpeg-9/jctrans.c \
jpeg-9/jdatadst.c \
jpeg-9/jerror.c \
jpeg-9/jfdctflt.c \
jpeg-9/jfdctfst.c \
jpeg-9/jfdctint.c \
jpeg-9/jidctflt.c \
jpeg-9/jidctfst.c \
jpeg-9/jidctint.c \
jpeg-9/jquant1.c \
jpeg-9/jquant2.c \
jpeg-9/jutils.c \
jpeg-9/jmemmgr.c \
jpeg-9/jmemnobs.c
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。