首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >编译Android版本的libjpeg-turbo

编译Android版本的libjpeg-turbo

作者头像
drunkdream
发布于 2018-07-06 10:12:06
发布于 2018-07-06 10:12:06
2.5K00
代码可运行
举报
文章被收录于专栏:醉梦轩醉梦轩
运行总次数:0
代码可运行

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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Android 内存优化】libjpeg-turbo 函数库交叉编译 ( libjpeg-turbo 函数库下载 | libjpeg-turbo 编译文档 | 环境准备 | NASM 安装 )
在上一篇博客 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 ) 对哈夫曼编码进行了介绍 , 如果需要在所有的 Android 手机上使用哈夫曼编码压缩图片, 那就需要使用 libjpeg-turbo 函数库 , 从 libjpeg-turbo/libjpeg-turbo GitHub 项目的 Release 发布版本页面 下载 Release 版本的源码 , 这里下载最新的 Source code (tar.gz) 源码 ;
韩曙亮
2023/03/27
2K0
【Android 内存优化】libjpeg-turbo 函数库交叉编译 ( libjpeg-turbo 函数库下载 | libjpeg-turbo 编译文档 | 环境准备 | NASM 安装 )
图像库 libjpeg-turbo 编译与实践
在 libjpeg-turbo 的源码中就已经有了讲述如何编译的 BUILDING.md 文件,还是使用 CMake 进行编译,大体方法和参数设置都大同小异了。
音视频开发进阶
2019/07/24
3.5K0
【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )
交叉编译脚本参考 : 之前已经做过两个函数库的交叉编译脚本 , FFMPEG 和 x264 开源库 , 而且都是使用 configure 生成 Makefile 文件 ;
韩曙亮
2023/03/27
1.9K0
【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )
libjpeg-turbo 命令行编译脚本(MinGW/MSVC/linux)
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/80095817
10km
2019/05/25
1.7K0
Xmake v2.7.2 发布,更加智能化构建第三方库
它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。
ruki
2022/11/14
1.1K0
nmake(vs2015)命令行编译libjpeg-turbo(x86/amd64)
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/51732883
10km
2019/05/25
2.4K0
「Skia学习笔记」一、使用CMake交叉编译Skia
  Skia是一个高性能的跨平台2D图形库,由Google开源并维护。Skia能够对字体、坐标转换、点阵图、矢量图以及矢量动画等进行高效的处理,代码结构和接口异常简洁,并且支持OpenGL、Vulkan、甚至OpenCL等硬件加速特性,是一个理想的2D图形库。
阿利民
2022/05/16
5.8K2
「Skia学习笔记」一、使用CMake交叉编译Skia
【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )
【Android 内存优化】图片文件压缩 ( Android 原生 API 提供的图片压缩功能能 | 图片质量压缩 | 图片尺寸压缩 ) 简要介绍了 图片文件压缩格式 , 以及 Android 提供的图片质量 , 尺寸压缩原生 API ;
韩曙亮
2023/03/27
8550
【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )
【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293
韩曙亮
2023/03/27
5.4K0
【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
Unity3D DLL加密
Unity3D打包android应用程序时,如果不对DLL加密,很容易被反编译,导致代码的泄露。通常的做法是通过加密DLL或者对代码进行混淆。本文的所要探讨的是通过加密的方式来对DLL进行保护,并详细记录加密的操作过程。
py3study
2020/01/07
2.5K0
准备工作--ffmpeg编译
为了能更好的学习和运用ffmpeg, 建议下载ffmpeg源码自己编译.这里的编译方法基于ubuntu16.04环境.直接按照编译FFmpeg来做可能会碰到一些错误, 我将自己编译碰到的错误记录在最后面. 我自己编译的工程已经传到github上 https://github.com/yizhongliu/ffmpegForAndroid
小蚂蚁与大象
2020/04/17
1.6K0
JDK源码编译与版号控制 发布于 20
JDK(Java Development Kit)作为Java的核心开发工具包,其包含了许多Java开发者们日常所需的工具,比如编译器、运行时环境以及各种基础的类库。然而,对于大多数开发者来说,JDK可能只是一个黑盒工具。所有编写的Java代码最终都会被JDK转化为可执行的程序,但是JDK内部的工作原理可能对于大部分开发者来说仍然理解困难。更何况,如果想对JDK进行一些定制或者修改,那么不了解JDK的编译过程就无法开始。
DioxideCN
2023/10/21
6490
JDK源码编译与版号控制
                        
                            发布于
                            20
【ijkplayer】编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )
参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ;
韩曙亮
2023/03/30
1.3K0
【ijkplayer】编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库
编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了下 Luajit 库的编译经验,供以后查阅。网上的讨论也是有一些,但是相当一部分都已经过时。或许等你看到这篇文章的时候,可能也只是能获得一些可能的经验来解决自己的编译问题。所以说,了解一些基本的编译知识,能勉强看懂 Luajit 的 make 文件,还是很有必要的。本篇是关于 Luajit 静态库的,如果你想找的是如何编译适用于移动端的 Luajit 字节码,可以直接看 【最新】LuaJIT 32/64 位字节码,从编译到使用全纪录。
ios122
2018/07/31
2.7K0
CMake构建学习笔记4-libjpeg库的构建
libjpeg是一个广泛使用的开源库,用于处理JPEG(Joint Photographic Experts Group)图像格式的编码、解码、压缩和解压缩功能,是许多图像处理软件和库的基础。
charlee44
2024/12/14
2190
CMake构建学习笔记4-libjpeg库的构建
用NDK编译FFmpeg4.1.3
API、CPU、NDK以及TOOLCHAIN这个路径最后的文件夹名称(Mac下是darwin-x86_64、linux可能叫linux-x86_64、Windows也不一样);
Clayman Twinkle
2019/07/01
3K0
【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )
① H.264 标准 : H.264 是视频编码标准 , 由 ITU 和 MPEG 制订 ;
韩曙亮
2023/03/27
2.8K0
【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )
Android FFmpeg系列01--编译与集成
FFmpeg是一套用于录制、转换和流化音视频的完整的跨平台解决方案,它的强大之处不用过多描述,本文主要介绍如何编译出so文件和在Android Studio工程中的引入
雪月清
2022/07/11
1.3K0
Android FFmpeg系列01--编译与集成
rust 开发编译 Android 动态库实践
rust 的学习曲线比较陡峭,在开始学习之前建议看看王垠的这篇文章 《如何掌握所有的编程语言》,地址如下:
音视频开发进阶
2019/06/03
3.7K0
rust 开发编译 Android 动态库实践
android源码编译(ubuntu16.04 64位)
第一篇:android源码编译(ubuntu16.04 64位) 第二篇:编译补充(关于下载代码和内存不足问题)
李小白是一只喵
2020/04/24
1.7K0
推荐阅读
【Android 内存优化】libjpeg-turbo 函数库交叉编译 ( libjpeg-turbo 函数库下载 | libjpeg-turbo 编译文档 | 环境准备 | NASM 安装 )
2K0
图像库 libjpeg-turbo 编译与实践
3.5K0
【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )
1.9K0
libjpeg-turbo 命令行编译脚本(MinGW/MSVC/linux)
1.7K0
Xmake v2.7.2 发布,更加智能化构建第三方库
1.1K0
nmake(vs2015)命令行编译libjpeg-turbo(x86/amd64)
2.4K0
「Skia学习笔记」一、使用CMake交叉编译Skia
5.8K2
【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )
8550
【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
5.4K0
Unity3D DLL加密
2.5K0
准备工作--ffmpeg编译
1.6K0
JDK源码编译与版号控制 发布于 20
6490
【ijkplayer】编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )
1.3K0
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库
2.7K0
CMake构建学习笔记4-libjpeg库的构建
2190
用NDK编译FFmpeg4.1.3
3K0
【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )
2.8K0
Android FFmpeg系列01--编译与集成
1.3K0
rust 开发编译 Android 动态库实践
3.7K0
android源码编译(ubuntu16.04 64位)
1.7K0
相关推荐
【Android 内存优化】libjpeg-turbo 函数库交叉编译 ( libjpeg-turbo 函数库下载 | libjpeg-turbo 编译文档 | 环境准备 | NASM 安装 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档