a MIPS machine that lacked DSPr2 support. The MIPS SIMD routines for h2v1 and
h2v2 merged upsampling were not properly checking for the existence of DSPr2.
-[6] Performance has been improved significantly on 64-bit Mac platforms
-(particularly compression performance.) Due to an oversight, the 64-bit
-version of the accelerated Huffman codec was not being compiled in when
-libjpeg-turbo was built on OS X. Oops.
+[6] Performance has been improved significantly on 64-bit non-Linux and
+non-Windows platforms (generally 10-20% faster compression and 5-10% faster
+decompression.) Due to an oversight, the 64-bit version of the accelerated
+Huffman codec was not being compiled in when libjpeg-turbo was built on
+platforms other than Windows or Linux. Oops.
[7] Fixed an extremely rare bug in the Huffman encoder that caused 64-bit
builds of libjpeg-turbo to incorrectly encode a few specific test images when
exec_prefix=${prefix}
fi
+AC_CHECK_SIZEOF(size_t)
+
if test "x${libdir}" = 'x${exec_prefix}/lib' -o "x${libdir}" = 'x${prefix}/lib'; then
LIBDIR=`eval echo ${libdir}`
LIBDIR=`eval echo $LIBDIR`
darwin*)
;;
*)
- AC_CHECK_SIZEOF(long)
- if test "${ac_cv_sizeof_long}" = "8"; then
+ if test "${ac_cv_sizeof_size_t}" = "8"; then
libdir='${exec_prefix}/lib64'
- elif test "${ac_cv_sizeof_long}" = "4"; then
+ elif test "${ac_cv_sizeof_size_t}" = "4"; then
libdir='${exec_prefix}/lib32'
fi
;;
#include "jpeglib.h"
#include "jchuff.h" /* Declarations shared with jcphuff.c */
#include <limits.h>
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#endif
/*
* NOTE: If USE_CLZ_INTRINSIC is defined, then clz/bsr instructions will be
} \
}
-#if !defined(_WIN32) && !defined(__WORDSIZE)
-#error __WORDSIZE is not defined
+#if !defined(_WIN32) && !defined(SIZEOF_SIZE_T)
+#error Cannot determine word size
#endif
-#if __WORDSIZE==64 || defined(_WIN64)
+#if SIZEOF_SIZE_T==8 || defined(_WIN64)
#define EMIT_BITS(code, size) { \
CHECKBUF47() \
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
/* Define to 1 if the system has the type `unsigned char'. */
#undef HAVE_UNSIGNED_CHAR
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
+
+/* The size of `size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
#include "jdhuff.h" /* Declarations shared with jdphuff.c */
#include "jpegcomp.h"
#include "jstdhuff.c"
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#endif
/*
} \
}
-#if !defined(_WIN32) && !defined(__WORDSIZE)
-#error __WORDSIZE is not defined
-#endif
-
-#if __WORDSIZE == 64 || defined(_WIN64)
+#if SIZEOF_SIZE_T==8 || defined(_WIN64)
/* Pre-fetch 48 bytes, because the holding register is 64-bit */
#define FILL_BIT_BUFFER_FAST \
* necessary.
*/
-#if __WORDSIZE == 64 || defined(_WIN64)
+#if !defined(_WIN32) && !defined(SIZEOF_SIZE_T)
+#error Cannot determine word size
+#endif
+
+#if SIZEOF_SIZE_T==8 || defined(_WIN64)
typedef size_t bit_buf_type; /* type of bit-extraction buffer */
#define BIT_BUF_SIZE 64 /* size of buffer in bits */