123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- diff --git jmemmgr.c jmemmgr.c
- --- jmemmgr.c
- +++ jmemmgr.c
- @@ -28,16 +28,17 @@
- */
-
- #define JPEG_INTERNALS
- #define AM_MEMORY_MANAGER /* we define jvirt_Xarray_control structs */
- #include "jinclude.h"
- #include "jpeglib.h"
- #include "jmemsys.h" /* import the system-dependent declarations */
- #include <stdint.h>
- +#include <limits.h> /* some NDKs define SIZE_MAX in limits.h */
-
- #ifndef NO_GETENV
- #ifndef HAVE_STDLIB_H /* <stdlib.h> should declare getenv() */
- extern char *getenv (const char *name);
- #endif
- #endif
- diff --git jmorecfg.h jmorecfg.h
- --- jmorecfg.h
- +++ jmorecfg.h
- @@ -9,16 +9,17 @@
- * For conditions of distribution and use, see the accompanying README.ijg
- * file.
- *
- * This file contains additional configuration options that customize the
- * JPEG software for special applications or support machine-dependent
- * optimizations. Most users will not need to touch this file.
- */
-
- +#include <stdint.h>
-
- /*
- * Maximum number of components (color channels) allowed in JPEG image.
- * To meet the letter of the JPEG spec, set this to 255. However, darn
- * few applications need more than 4 channels (maybe 5 for CMYK + alpha
- * mask). We recommend 10 as a reasonable compromise; use 4 if you are
- * really short on memory. (Each allowed component costs a hundred or so
- * bytes of storage, whether actually used in an image or not.)
- @@ -118,39 +119,25 @@ typedef char JOCTET;
- * They must be at least as wide as specified; but making them too big
- * won't cost a huge amount of memory, so we don't provide special
- * extraction code like we did for JSAMPLE. (In other words, these
- * typedefs live at a different point on the speed/space tradeoff curve.)
- */
-
- /* UINT8 must hold at least the values 0..255. */
-
- -#ifdef HAVE_UNSIGNED_CHAR
- -typedef unsigned char UINT8;
- -#else /* not HAVE_UNSIGNED_CHAR */
- -#ifdef __CHAR_UNSIGNED__
- -typedef char UINT8;
- -#else /* not __CHAR_UNSIGNED__ */
- -typedef short UINT8;
- -#endif /* __CHAR_UNSIGNED__ */
- -#endif /* HAVE_UNSIGNED_CHAR */
- +typedef uint8_t UINT8;
-
- /* UINT16 must hold at least the values 0..65535. */
-
- -#ifdef HAVE_UNSIGNED_SHORT
- -typedef unsigned short UINT16;
- -#else /* not HAVE_UNSIGNED_SHORT */
- -typedef unsigned int UINT16;
- -#endif /* HAVE_UNSIGNED_SHORT */
- +typedef uint16_t UINT16;
-
- /* INT16 must hold at least the values -32768..32767. */
-
- -#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */
- -typedef short INT16;
- -#endif
- +typedef int16_t INT16;
-
- /* INT32 must hold at least signed 32-bit values.
- *
- * NOTE: The INT32 typedef dates back to libjpeg v5 (1994.) Integers were
- * sometimes 16-bit back then (MS-DOS), which is why INT32 is typedef'd to
- * long. It also wasn't common (or at least as common) in 1994 for INT32 to be
- * defined by platform headers. Since then, however, INT32 is defined in
- * several other common places:
- @@ -167,25 +154,17 @@ typedef short INT16;
- * This is a recipe for conflict, since "long" and "int" aren't always
- * compatible types. Since the definition of INT32 has technically been part
- * of the libjpeg API for more than 20 years, we can't remove it, but we do not
- * use it internally any longer. We instead define a separate type (JLONG)
- * for internal use, which ensures that internal behavior will always be the
- * same regardless of any external headers that may be included.
- */
-
- -#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
- -#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */
- -#ifndef _BASETSD_H /* MinGW is slightly different */
- -#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */
- -typedef long INT32;
- -#endif
- -#endif
- -#endif
- -#endif
- +typedef int32_t INT32;
-
- /* Datatype used for image dimensions. The JPEG standard only supports
- * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore
- * "unsigned int" is sufficient on all machines. However, if you need to
- * handle larger images and you don't mind deviating from the spec, you
- * can change this datatype. (Note that changing this datatype will
- * potentially require modifying the SIMD code. The x86-64 SIMD extensions,
- * in particular, assume a 32-bit JDIMENSION.)
|