Any Android specific modifications to upstream libjpeg-turbo (1.5.1) should
be listed here:

(1) jconfig.h and jconfigint.h

These are included upstream as jconfig.h.in and jconfigint.h.in.
We have the option autogenerate these platform/version specific files (using
the libjpeg-turbo build system) or to manually create them.

Autogenerating these files on linux gets us most of the way, but we've needed
to add some multi-platform flexibility to the INLINE and SIZEOF_SIZE_T macros.

(2) simd/jsimdext.inc

The modification enables us to compile x86 SIMD.

The original code was:
%define EXTN(name)   _ %+ name
The new code is:
%define EXTN(name)   name

It is unclear why the unmodified code from upstream appends an underscore
to name.  Before removing the underscore, the code failed to link because
the function names in the SIMD code did not match the callers (because of
the extra underscore).

(3) jmemmgr.c

Fix broken build with NDK platforms < android-21
Cherry picked from upstream:
https://github.com/libjpeg-turbo/libjpeg-turbo/commit/dfefba77520ded5c5fd4864e76352a5f3eb23e74

(4) rdppm.c
Fix sign mismatch comparison warnings
Cherry picked from upstream:
https://github.com/libjpeg-turbo/libjpeg-turbo/commit/d22fd541bf9dd87889c25909e19a640a580bcad7
