History log of /external/libjpeg-turbo/simd/jsimd_x86_64.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6eb7d3798b5a79347c62825fc4c16f7ce673bdd0 16-Oct-2016 Alex Naidis <alex.naidis@linux.com> libjpeg-turbo: Upgrade to 1.5.1

The changes from 1.4.2 to 1.5.1 include
a big amount of fixes and huge performance improvements.
As highlights there is a full ARM 64-bit (ARMv8) NEON SIMD
implementation which improves compression of full-color JPEGs
by about 2-2.5x on average on Cortex-A53 and Cortex-A57 cores.
Also SIMD acceleration for Huffman encoding on NEON-capable
ARM 32-bit and 64-bit platforms was added.
Performance on x86/x86_64 was also improved by
adding better optimized SSE2 routines.

For the full changelog, please see the ChangeLog.md
file.

Partial decoding optimizations, the security fix
to adress b/27494207 and the fix for the AARCH64
conformance issueare present in the release.
The README.android file was edited to reflect this.

The configuration files were regenerated
and all Android specific changes were applied.

BUG:28268702

Change-Id: I538291d894df1da01d3f733771647df1fb61ec42
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
/external/libjpeg-turbo/simd/jsimd_x86_64.c
d729f4da9c86b7212912a7d59e49d061d0e61d5f 23-Aug-2014 DRC <dcommander@users.sourceforge.net> ARM NEON SIMD support for YCC-to-RGB565 conversion, and optimizations to the existing YCC-to-RGB conversion code:

-----

https://github.com/ssvb/libjpeg-turbo/commit/aee36252be20054afce371a92406fc66ba6627b5.patch

From aee36252be20054afce371a92406fc66ba6627b5 Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date: Wed, 13 Aug 2014 03:50:22 +0300
Subject: [PATCH] ARM: Faster NEON yuv->rgb conversion for Krait and Cortex-A15

The older code was developed and tested only on ARM Cortex-A8 and ARM Cortex-A9.
Tuning it for newer ARM processors can introduce some speed-up (up to 20%).

The performance of the inner loop (conversion of 8 pixels) improves from
~27 cycles down to ~22 cycles on Qualcomm Krait 300, and from ~20 cycles
down to ~18 cycles on ARM Cortex-A15.

The performance remains exactly the same on ARM Cortex-A7 (~58 cycles),
ARM Cortex-A8 (~25 cycles) and ARM Cortex-A9 (~30 cycles) processors.

Also use larger indentation in the source code for separating two independent
instruction streams.

-----

https://github.com/ssvb/libjpeg-turbo/commit/a5efdbf22ce9c1acd4b14a353cec863c2c57557e.patch

From a5efdbf22ce9c1acd4b14a353cec863c2c57557e Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date: Wed, 13 Aug 2014 07:23:09 +0300
Subject: [PATCH] ARM: NEON optimized yuv->rgb565 conversion

The performance of the inner loop (conversion of 8 pixels):
* ARM Cortex-A7: ~55 cycles
* ARM Cortex-A8: ~28 cycles
* ARM Cortex-A9: ~32 cycles
* ARM Cortex-A15: ~20 cycles
* Qualcomm Krait: ~24 cycles

Based on the Linaro rgb565 patch from
https://sourceforge.net/p/libjpeg-turbo/patches/24/
but implements better instructions scheduling.


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1385 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
1419852c42a0b8d8779fa89419cf2824b9eb5866 15-May-2014 DRC <dcommander@users.sourceforge.net> Clean up code formatting in the SIMD interface functions


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1305 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
1a45b81fa2edf682ae72251a18fd84eacef9dbbe 09-May-2014 DRC <dcommander@users.sourceforge.net> Remove trailing spaces (+ one additional tab in TJUnitTest.java that was missed in the previous commit)


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1279 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
67ce3b2352fe1f7511edbfed74ec6960e41e97dc 19-Dec-2011 DRC <dcommander@users.sourceforge.net> Added new alpha channel colorspace constants/pixel formats, so applications can specify that they need the unused byte in a 4-component RGB output buffer set to 0xFF when decompressing.


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@732 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
392e0483a33f04efd0a68512ab6767568bccb5c4 18-Feb-2011 DRC <dcommander@users.sourceforge.net> Updated (C)


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@394 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
c86663335ba74e0c732f1015f03181b327646e8d 18-Feb-2011 DRC <dcommander@users.sourceforge.net> SIMD-accelerated RGB-to-Grayscale color conversion


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@393 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
af1ca9bcc1674e0c6d07127f7dc04b138f8b1c98 02-Feb-2011 DRC <dcommander@users.sourceforge.net> Clarify that the C wrappers and headers fall under the same license as the rest of the SIMD code


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.0.x@335 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
c06073a94954788212fc23f699a96132f0d3d201 06-Sep-2010 DRC <dcommander@users.sourceforge.net> Remove simd/ prefix from #include (not necessary and was causing problems with Visual Studio project)


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@228 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
30959719ad8f932a1719f5c09af6a84ce1f519a3 07-Aug-2010 DRC <dcommander@users.sourceforge.net> Fix typo in SIMD dispatch routines which was causing 4:2:0 upsampling to
be used instead of 4:2:2 when decompressing JPEG images using SSE2 code


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@223 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
048990944fccc2602c892dabace774f40271a61e 27-Feb-2010 DRC <dcommander@users.sourceforge.net> Bleepin' Windows uses LLP64, not LP64


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@158 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
321ad5131492107e0e501f13a37fb3ac7f36f06d 08-Oct-2009 DRC <dcommander@users.sourceforge.net> Enable 64-bit build on Snow Leopard


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@68 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c
ba82ddf6ca0270d65e3b8fb56b2d3116cf423709 29-Jun-2009 Pierre Ossman <ossman@cendio.se> Clean up SIMD glue code

The SIMD glue code has gotten a bit #ifdef heavy so clean it up by having
one file for each possible SIMD arch. This also allows a simplification of
the x86_64 code as SSE/SSE2 is always known to exist on that arch.


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@49 632fc199-4ca6-4c93-a231-07263d6284db
/external/libjpeg-turbo/simd/jsimd_x86_64.c