aboutsummaryrefslogtreecommitdiff
path: root/README.android
diff options
context:
space:
mode:
authorMatt Sarett <msarett@google.com>2015-11-24 12:18:04 -0500
committerMatt Sarett <msarett@google.com>2015-11-25 11:12:32 -0500
commitb3ffc5a2fb2b2f03b77b91e29d7d505340af0ecb (patch)
treedea9a192cac4f4926da05536cd98c84784ce311e /README.android
parent2a6062fe4080bf65e9c71fdfb899e7152fd1ac0d (diff)
downloadlibjpeg-turbo-b3ffc5a2fb2b2f03b77b91e29d7d505340af0ecb.tar.gz
Compile x86 and x86-64 SIMD optimizations
Change-Id: I2aa903ea44cc3da9255543dd21a312e3dd410b8c
Diffstat (limited to 'README.android')
-rw-r--r--README.android38
1 files changed, 38 insertions, 0 deletions
diff --git a/README.android b/README.android
new file mode 100644
index 00000000..b83c4d79
--- /dev/null
+++ b/README.android
@@ -0,0 +1,38 @@
+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).