All Projects → openstf → Android Libjpeg Turbo

openstf / Android Libjpeg Turbo

Licence: other
Standalone Android.mk configuration for libjpeg-turbo.

Labels

Projects that are alternatives of or similar to Android Libjpeg Turbo

Human Phenotype Ontology
Ontology for the description of human clinical features
Stars: ✭ 134 (-7.59%)
Mutual labels:  makefile
K8s Vagrant Multi Node
A Kubernetes Vagrant Multi node environment using kubeadm.
Stars: ✭ 141 (-2.76%)
Mutual labels:  makefile
Gb
A minimal C implementation of Nintendo Gameboy - An fast research environment for Reinforcement Learning
Stars: ✭ 143 (-1.38%)
Mutual labels:  makefile
Easyrss
Google Reader Client for Android
Stars: ✭ 137 (-5.52%)
Mutual labels:  makefile
Developer
developer roadmap. use growth https://github.com/phodal/growth replace this
Stars: ✭ 1,699 (+1071.72%)
Mutual labels:  makefile
Reggae
Build system in D, Python, Ruby, Javascript or Lua
Stars: ✭ 141 (-2.76%)
Mutual labels:  makefile
Edx Documentation
For published versions of the edX documentation, visit:
Stars: ✭ 133 (-8.28%)
Mutual labels:  makefile
Proprietary vendor motorola
Stars: ✭ 143 (-1.38%)
Mutual labels:  makefile
Makepytorchplusplus
How and why you want to make your pytorch CUDA/CPP extension with a Makefile
Stars: ✭ 142 (-2.07%)
Mutual labels:  makefile
Rbcurse
ruby based curses widgets: fields, buttons, textarea. menus, message boxes, tabbed panes, tables, listboxes, splitpanes, scrollpanes. Event based, MVC architecture. (DEPRECATED - PLS USE rbcurse-core)
Stars: ✭ 142 (-2.07%)
Mutual labels:  makefile
Thingos
A lightweight Linux OS for things.
Stars: ✭ 138 (-4.83%)
Mutual labels:  makefile
Letsgo
Golang 小视频教程,零散时间学习 Golang
Stars: ✭ 139 (-4.14%)
Mutual labels:  makefile
Zsh Tmux Neovim Docker
Modern zsh/tmux/neovim setup in docker, with italics
Stars: ✭ 142 (-2.07%)
Mutual labels:  makefile
Openwrt Shadowsocksr
ShadowsocksR-libev for OpenWrt/LEDE
Stars: ✭ 136 (-6.21%)
Mutual labels:  makefile
Proprietary vendor lge
Stars: ✭ 143 (-1.38%)
Mutual labels:  makefile
Freeflyos
FreeFlyOS----自由飞翔的操作系统,谁在仰望~~~~~月亮之上~~~~~~
Stars: ✭ 134 (-7.59%)
Mutual labels:  makefile
Ansible Cloud Hosting
Set of scripts to quickly build private cloud hosting.
Stars: ✭ 141 (-2.76%)
Mutual labels:  makefile
Smarchglasses public
Stars: ✭ 143 (-1.38%)
Mutual labels:  makefile
Terraform Makefile
Helps me actually use terraform for multiple environments
Stars: ✭ 143 (-1.38%)
Mutual labels:  makefile
Sphinxtr
The Sphinx Thesis Resource
Stars: ✭ 142 (-2.07%)
Mutual labels:  makefile

Warning

This project along with other ones in OpenSTF organisation is provided as is for community, without active development.

You can check any other forks that may be actively developed and offer new/different features here.

Active development has been moved to DeviceFarmer organisation.

libjpeg-turbo for Android

Warning

This repository was superseded by https://github.com/DeviceFarmer/android-libjpeg-turbo

This repository provides a working Android.mk build configuration for libjpeg-turbo, which means that you'll be able to build your app with ndk-build instead of resorting to toolchain trickery. Just add this repository as a Git submodule and you should be good to go.

Note however that this repository was originally created for a single purpose; to encode JPG files in a different NDK project. Therefore JNI bindings are not provided but a pull request is welcome. Also, any libjpeg-turbo feature that requires another dependency is currently not supported (incl. colorspace conversions). Again, pull requests are welcome.

Currrently, the following ABIs are supported:

  • armeabi
  • armeabi-v7a
  • armeabi-v7a-hard
  • arm64-v8a
  • x86
  • x86_64, requires Android NDK Revision 10e (May 2015) or later

SIMD/ASM optimizations are enabled for supported ABIs where possible. libjpeg-turbo does not support MIPS properly (yet). Since MIPS is not supported, you'll need to specify your supported ABIs in Application.mk instead of simply giving it APP_ABI := all.

Note that compiler optimization options are NOT included right now. If, for example, you wish to use -Ofast or other options, you'll need to add them yourself, possibly to your Application.mk.

Requirements

The following combinations are known to work:

Usage

First, set up a vendor folder in your own project. You can skip this step if you've already decided where you wish to put the module.

mkdir -p jni/vendor
echo 'include $(call all-subdir-makefiles)' >> jni/vendor/Android.mk

Then add this repo as a submodule to your own project.

git submodule add --name libjpeg-turbo \
  https://github.com/openstf/android-libjpeg-turbo.git jni/vendor/libjpeg-turbo

You should now be able to do LOCAL_STATIC_LIBRARIES += libjpeg-turbo in your own module, #include <turbojpeg.h> and ndk-build.

Updating libjpeg-turbo

You need to go and fetch libjpeg-turbo first. Download and extract the source package to jni/vendor/libjpeg-turbo. It's not a submodule because they still use SVN. Check jni/vendor/libjpeg-turbo/Android.mk to see which version of libjpeg-turbo is expected.

cd jni/vendor/libjpeg-turbo
cp ~/Downloads/libjpeg-turbo-1.4.1.tar.gz .
tar xzvf libjpeg-turbo-1.4.1.tar.gz

To make updating easier, the jni/vendor/libjpeg-turbo/libjpeg-turbo-*-*-* folder should contain only unmodified original source files. Do not configure or move files around, it will be a pain later. Just unpack the source package and leave it be as-is.

You may sometimes also need to update the convenience files in jni/vendor/libjpeg-turbo/include. This doesn't seem to happen very often, though.

Now update the SOURCE_PATH in jni/vendor/libjpeg-turbo/Android.mk. Then run ndk-build to make sure nothing broke.

Then git rm -r the previous libjpeg-turbo source and commit the new source with your Android.mk modification(s).

Contributing

See CONTRIBUTING.md.

License

See LICENSE. libjpeg-turbo itself is governed by its own license.

Copyright © CyberAgent, Inc. All Rights Reserved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].