]> granicus.if.org Git - libjpeg-turbo/commit
ARM64 NEON SIMD implementation of Huffman encoding
authorDRC <information@libjpeg-turbo.org>
Mon, 8 Feb 2016 02:36:02 +0000 (20:36 -0600)
committerDRC <information@libjpeg-turbo.org>
Mon, 8 Feb 2016 03:51:11 +0000 (21:51 -0600)
commit219470d6acffbad6fc121adb5486d1c43d25defb
tree3fb918900c9b3dd2e72a30ab211ee78f5e863379
parent15aaa7f7e21af6066e22ab18fbd02576078351ff
ARM64 NEON SIMD implementation of Huffman encoding

Full-color compression speedups relative to previous commits:
Cortex-A53 (Nexus 5X), Android, 64-bit: 1.1-13% (avg. 6.0%)
Cortex-A57 (Nexus 5X), Android, 64-bit: 0.0-22% (avg. 6.3%)

Refer to #47 and #50 for discussion

Closes #50

Note that this commit introduces a similar /proc/cpuinfo parser to that
of the ARM32 implementation.  It is used to specifically check whether
the code is running on Cavium ThunderX and, if so, disable the ARM64
SIMD Huffman routines (which slow performance by an average of 8% on
that CPU.)

Based on:
https://github.com/mayeut/libjpeg-turbo/commit/a8c282e5e5ac10a715d6d6a9ab22121982b485f6
simd/jsimd_arm64.c
simd/jsimd_arm64_neon.S