summaryrefslogtreecommitdiff
path: root/jchuff.c
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2021-01-29 21:58:06 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-01-29 21:58:06 +0000
commit4f66d2ef5189c7bbd23cbf9fe8e8a4336046e73f (patch)
treef616cbf164716ee566a2b186cfc40a4d23540fdf /jchuff.c
parent3bd8f29b22cd8258f403ac68a715a81c60ec5e08 (diff)
parentf7bb80dc5eb581060f92d9f27e7326e1c03a0cdc (diff)
Upgrade libjpeg-turbo to fa0de07678c9828cc57b3eb086c03771912ba527 am: f7bb80dc5e
Original change: https://android-review.googlesource.com/c/platform/external/libjpeg-turbo/+/1564663 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I424422f737af06937feb673d3b347353f35e7460
Diffstat (limited to 'jchuff.c')
-rw-r--r--jchuff.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/jchuff.c b/jchuff.c
index 8ea48b8..e2d5772 100644
--- a/jchuff.c
+++ b/jchuff.c
@@ -44,15 +44,19 @@
* flags (this defines __thumb__).
*/
-/* NOTE: Both GCC and Clang define __GNUC__ */
-#if defined(__GNUC__) && (defined(__arm__) || defined(__aarch64__))
+#if defined(__arm__) || defined(__aarch64__) || defined(_M_ARM) || \
+ defined(_M_ARM64)
#if !defined(__thumb__) || defined(__thumb2__)
#define USE_CLZ_INTRINSIC
#endif
#endif
#ifdef USE_CLZ_INTRINSIC
+#if defined(_MSC_VER) && !defined(__clang__)
+#define JPEG_NBITS_NONZERO(x) (32 - _CountLeadingZeros(x))
+#else
#define JPEG_NBITS_NONZERO(x) (32 - __builtin_clz(x))
+#endif
#define JPEG_NBITS(x) (x ? JPEG_NBITS_NONZERO(x) : 0)
#else
#include "jpeg_nbits_table.h"