GIF library built with ndk and gradle in aar format for usage with android gradle build system.
C++ Java Other
Clone or download
Pull request Compare This branch is 12 commits behind waynejo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
library/androidndkgif
sample
.gitignore
CHANGELOG.md
LICENSE
README.md

README.md

Android NDK GIF Library

GIF library built with ndk and gradle in aar format for usage with android gradle build system.

0.3.2 Change Log

  • fix some memory issues.

Encoding Option

  • Add some encoding options.
  • ENCODING_TYPE_SIMPLE_FAST
    • use low memory and encode fast. But low quality.
  • ENCODING_TYPE_NORMAL_LOW_MEMORY
    • use lower memory than ENCODING_TYPE_STABLE_HIGH_MEMORY. and image changing dynamic.
  • ENCODING_TYPE_STABLE_HIGH_MEMORY
    • slowest and use high memory. But high quality and stable image sequence.

Feature

  • GIF Encoding.
  • GIF Decoding.

How to use

Remote repository

...

repositories {
    maven { url "http://dl.bintray.com/waynejo/maven" }
    ...
}

dependencies {
    compile('com.waynejo:androidndkgif:0.3.2')
}

Decoding

GifDecoder gifDecoder = new GifDecoder();
boolean isSucceeded = gifDecoder.load(destFile);
if (isSucceeded) {
    for (int i = 0; i < gifDecoder.frameNum(); ++i) {
        Bitmap bitmap = gifDecoder.frame(i);
    }
}

Encoding

GifEncoder gifEncoder = new GifEncoder();
gifEncoder.init(width, height, filePath, GifEncoder.EncodingType.ENCODING_TYPE_NORMAL_LOW_MEMORY);

// Bitmap is MUST ARGB_8888.
gifEncoder.encodeFrame(bitmap1, delayMs);
gifEncoder.encodeFrame(bitmap2, delayMs);

gifEncoder.close();

Reference


Android Arsenal