O'Reilly logo

Android NDK Beginner's Guide - Second Edition by Sylvain Ratabouil

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Time for action – processing pictures with the Bitmap API

Let's continue our application by decoding and filtering images on the native side by the color channel:

  1. Create native C source, jni/CameraDecoder.c (not a C++ file, so that we can see the difference with JNI code written in C++).

    Include android/bitmap.h, which defines the NDK bitmap processing API and stdlib.h (not cstdlib as this file is written in C):

    #include <android/bitmap.h>
    #include <stdlib.h>
    ...

    Write a few utility macros to help decode a video.

    • toInt() converts a jbyte to an integer, erasing all useless bits with a mask
    • max() gets the maximum between two values
    • clamp() clamps a value inside a defined interval
    • color() builds an ARGB color from each color component
      ... #define toInt(pValue) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required