前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编译Android版本的libjpeg-turbo

编译Android版本的libjpeg-turbo

作者头像
drunkdream
发布2018-07-06 18:12:06
2.3K0
发布2018-07-06 18:12:06
举报
文章被收录于专栏:醉梦轩醉梦轩

0x00 前言

libjpeg-turbo是一个JPEG编解码库,支持x86, x86-64, ARM等系统下的指令加速,其性能号称是libjpeg的2-6倍。官网地址是:https://libjpeg-turbo.org/。github地址是:https://github.com/libjpeg-turbo/libjpeg-turbo

Android中默认提供了libjpeg实现的JPEG编解码接口,但是测试下来性能不是很好,无法满足实际使用需求。因此,准备编译Android版本来用。

0x01 下载源码

使用的编译环境是:Ubuntu 16.04 x64

一开始,我使用的是github上的代码,可以正常编译成linux版本。但是按照文档上的操作却始终无法编译出Android版本。

后来发现,官网上的提供的版本编译脚本与github上并不相同。官网的源码包下载地址为:https://sourceforge.net/projects/libjpeg-turbo/files/。我下的是1.5.3版本源码包

解压到本地,根目录下的BUILDING.md文件中包含了编译方法。具体内容如下:https://github.com/drunkdream/Android-libjpeg-turbo/blob/master/libjpeg-turbo-1.5.3/BUILDING.md

0x02 编译环境

编译依赖需要依赖以下库:

  • autoconf 2.56 or later
  • automake 1.7 or later
  • libtool 1.4 or later
  • NASM or YASM (if building x86 or x86-64 SIMD extensions)

Ubuntu下可以使用以下方法安装:

代码语言:javascript
复制
apt install autoconf
apt install automake
apt install libtool
apt install nasm

0x03 编译

修改BUILDING.md中提供的编译脚本,编译出目标架构版本。为方便编译,我提供了可以直接编译的脚本: https://github.com/drunkdream/Android-libjpeg-turbo/blob/master/build.sh

使用方法:

代码语言:javascript
复制
export NDK_PATH=/path/to/ndk
sh build.sh arm/arm64/x86/x86_64/all

此时,会在当前目录的out目录下生成对应架构的文件。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言
  • 0x01 下载源码
  • 0x02 编译环境
  • 0x03 编译
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档