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