blob: b83c4d79582017d962ab968f22d8ef23e9b20d17 [file] [log] [blame]
Any Android specific modifications to upstream libjpeg-turbo (1.4.2) 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) Partial decoding optimizations
These have been cherry picked from upstream and will be included in the 1.5
release. The cherry picked commits are:
90c92ed5bf98bda381fcc369f0da46837dbb8894
fc235cfdabbcd1c915fa3a87a56d73727da2eaeb
9bafc6a7ffa62ed7109314cbb66085075cd1c334
3fb56e969c890e6aa7b044eea7e24751ab6f4e97
e67a7e37deb26db5ac7da420560d22e1ca7ea4b4
f8a1775eab51fb0a83e82343d2eae8cf52b16124
15884f48eb1a4acd9c6c24291db974c596e71934
ac30a1bf12751bd82e56158eb9456a28d9c086f3
(3) 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).