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) ...

Get Android NDK Beginner's Guide - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.