Git Product home page Git Product logo

android_imagemagick7's Introduction

ImageMagick 7 port to Android.

Binaries

  • latest binaries for arm-v7a/arm64-v8a/x86/x86-64: v0.4.7083.17
  • latest binaries for mips32/misp64 and armv5: v0.4.70710
  • release number pattern is follow: vX.X.YYYYY.ZZ, where X.X - major\minor number for build, YYYYY - ImageMagick version(i.e. 70735 is 7.0.7.35), ZZ - NDK version (i.e. 17b1 - NDK17beta1)

Last changes

  • return build of magick utility by default
  • Image Magick updated to latest version (7.0.8.3)
  • clang toolchain supported. required Android NDK r15 to build (early versions had issues with OpenMP support)
  • NDK r17 and later drop support for mips32/64 and arm v5.
  • all binaries moved to github release section

General

  • MagickCore 7.0.8.3 (actual at 2018.06.28)
  • MagickWand
  • 3rd party libs actual at 2017.03
  • OpenMP build by default (with gcc 4.9 and clang 5.0.3)
  • Magick++ disable due to crash, sources removed (looks like nobody used it anyway)

Why?

  • ImageMagick7 is not fully compatible with early(ImageMagick6) version
  • build with OpenMP (DistortImage on 4core/armv7a get 3.597 speedup factor)
  • smaller binary size in case of using only MagickCore

Test for ImageMagick 7/Android

  • test app code exist in ./prj/IM7Test. It can be used as example for C\C++\qmake project.
  • demonstrtate OpenMP advantage on multi-core CPU in modern smartphones
  • GUI version published to google play for armv7 and x86

For C/C++ users

  • number of file formats disabled for now(exr, svg, jpeg2000, webp) and not planed to enable back (looks like nobody use it)
  • MagickWand added as separate Shared Object - need to be linked separately

For Java users

Please, use https://github.com/paulasiimwe/Android-ImageMagick port of ImageMagick 6 - it's include Java interface (JMagick)

Rebuild

  • change directory to Android_ImageMagick7/jni
  • run path-to-your-ndk/ndk-build -j 4
  • or set up envinronment variable ANDROID_SDK_PATH and run gccBuild/clangBuild.sh

OpenMP

  • depends from Application.mk details
  • Android NDK(current version 17b1) support OpenMP with both clang and gcc toolchain (binaries provided for both)

OpenCL

  • can me much faster on certain operation (blur etc)
  • not working correctrly for now

License

Licenses for ImageMagick and supported libs(libpng, libjpg, etc) can be found in corresponding jni/src dirs. All other covererd by MIT License

android_imagemagick7's People

Contributors

ayaromenok avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.