Log

Author Commit Date CI Message
DRC adf9cc94 2019-10-16T20:11:59 j*huff.c: Remove crufty ASSIGN_STATE() macro This macro is a relic of libjpeg's historic need to support a wide variety of C compilers with varying degrees of compatibility. Such was necessary during the open systems era, because C compilers were often supplied by the system vendor. Prior to 1989, there was no C standard per se, and even after ANSI C became a thing, there were still compilers in use that didn't conform to it (libjpeg was first released in 1991.) Realistically, only a handful of C compilers are in widespread use these days, and all modern C compilers should support structure assignment.
DRC 95f4d6ef 2019-10-24T02:13:23 Merge branch 'master' into dev
DRC 55de9720 2019-10-24T01:50:35 AppVeyor: Use MinGW-builds instead of MSYS2 MinGW ... to avoid backward compatibility issues with GCC 4-6 MinGW toolchains. Apparently GCC 7+ MinGW toolchains introduce a link-time dependency with internal MinGW CRT functions that are meant to provide compatibility with Microsoft's Universal CRT (ucrt) library, but those internal functions are not available in GCC 4-6 MinGW toolchains. This made it impossible to use the official builds of libjpeg.a and libturbojpeg.a with GCC 4-6 MinGW toolchains (a fatal link error-- "undefined reference to '__imp___acrt_iob_func'"-- occurred.) This problem was not immediately apparent after switching to the MSYS2 implementation of MinGW (d6d7b539682abb50b04207abd21726573c0fb845) because, for a while, MSYS2 was still using GCC 5 and 6. Refer to libjpeg-turbo/libjpeg-turbo#382
DRC 708f013f 2019-10-22T20:08:57 Win packaging: Fix 64-bit VC/GCC co-install issue
DRC 163f0b19 2019-10-22T19:39:38 Bump version to 2.0.4 to prepare for new commits
DRC 3a32d199 2019-10-17T19:59:01 x86 SIMD: Consistify capitalization of NASM types byte, word, dword, qword, oword, and yword are all assembler keywords, so it makes sense to use lowercase for these so as not to mistake them for macros or constants.
DRC 9a51a87a 2019-10-17T11:21:32 x86 SIMD: Remove obsolete [TAB8] comments With apologies to Richard Hendricks, our assembly code no longer uses tabs.
DRC 74aeaddf 2019-10-16T21:16:43 jc*huff.c: Consistify preproc directive formatting The rest of the libjpeg API code uses "#if defined(condition)" rather than "#if defined condition".
DRC 2ae2bd66 2019-10-04T16:05:11 Remove support for Apple's Java implementation (AKA "Java for OS X systems.") This implementation of Java 1.6 is long obsolete and not supported on any version of macOS past High Sierra. Oracle no longer provides a 32-bit JVM on macOS, so it is no longer necessary to provide a 32-bit version of the TurboJPEG Java wrapper on macOS.
DRC b7523059 2019-10-04T15:53:30 Merge branch 'master' into dev
DRC ab6c4a5d 2019-10-04T15:02:18 Travis: Fix macOS build Java 6 has moved to homebrew/cask-versions.
DRC ec4cacc1 2019-10-02T16:35:17 BUILDING.md: Document need for CRB/PowerTools repo NASM and YASM are located in this non-default repository on (respectively) RHEL and CentOS.
DRC b4110b65 2019-09-04T18:58:12 Merge branch 'master' into dev
DRC 5db6a681 2019-08-30T12:02:50 README.md: Document memory debugger pitfalls (more specifically, the need to disable libjpeg-turbo's SIMD extensions when testing with valgrind, MSan, etc.) Addresses a concern expressed in #365
DRC f448279b 2019-08-30T11:15:47 README.md: Remove vestigial autotools references
DRC ded5a504 2019-08-15T13:24:25 tjDecodeYUV*: Fix err if TJ inst used for prog dec If the TurboJPEG instance passed to tjDecodeYUV[Planes]() was previously used to decompress a progressive JPEG image, then we need to disable the progressive decompression parameters in the underlying libjpeg instance before calling jinit_master_decompress(). This commit also modifies the build system so that the "tjtest" target will test for this issue, and it corrects a previous oversight in the build system whereby tjbenchtest did not test progressive compression/decompression unless WITH_JAVA was true.
DRC 8ef53b10 2019-08-14T22:08:59 Merge branch 'master' into dev
DRC c0d0fe86 2019-08-14T22:08:44 ChangeLog.md: Wordsmithing
DRC a81a8c13 2019-08-14T13:17:11 SSE2 SIMD: Fix prog Huffman enc. error if Sl%16==0 (regression introduced by 5b177b3cab5cfb661256c1e74df160158ec6c34e) The SSE2 implementation of progressive Huffman encoding performed extraneous iterations when the scan length was a multiple of 16. Based on: https://github.com/rouault/libjpeg-turbo/commit/bb7f1ef98305da915e581b59bd0ec2ef7bdb8468 Fixes #335 Closes #367
DRC 02f7bcdb 2019-08-13T16:03:48 Travis: Enable additional sanitizer tests - Re-purpose the non-SIMD test to test with MSan as well. - Re-purpose the ASan test to test with UBSan as well. - Use the default Travis build environment rather than specifying Ubuntu 14.04. I think I added 'dist: trusty' back when 14.04 was newer than the default, but now it's older than the default. - Enable verbose output for any unit tests that fail (so we can see the sanitizer output.)
DRC 7fbfe29c 2019-07-18T15:18:27 Merge branch 'master' into dev
DRC 5ced1f59 2019-07-18T14:25:25 Travis: Cache Homebrew downloads ... to speed up the Mac CI builds.
DRC b98ee192 2019-07-18T14:14:47 Travis: Update Homebrew/fix Mac CI build Updating Homebrew wasn't necessary when the CI build first started using the xcode8.3 image (see c8e52741fdb623698a27a4c55cf63db93c95aa14), but apparently it now is.
DRC ad8330af 2019-07-12T17:28:55 TJBench.java: Remove space in method invocation (to make checkstyle happy)
DRC b25adabc 2019-07-12T17:27:37 tjbench.c: Fix minor code formatting errors (introduced by 2a9e3bd7430cfda1bc812d139e0609c6aca0b884)
DRC 875e873f 2019-07-11T17:05:15 tjutil.c: Fix compiler warning with Visual Studio Apparently windows.h includes stdlib.h, which defines the max() and min() macros, so we need to ensure that tjutil.h is included after that.
DRC 2a9e3bd7 2019-07-11T15:30:04 TurboJPEG: Properly handle gigapixel images Prevent several integer overflow issues and subsequent segfaults that occurred when attempting to compress or decompress gigapixel images with the TurboJPEG API: - Modify tjBufSize(), tjBufSizeYUV2(), and tjPlaneSizeYUV() to avoid integer overflow when computing the return values and to return an error if such an overflow is unavoidable. - Modify tjunittest to validate the above. - Modify tjCompress2(), tjEncodeYUVPlanes(), tjDecompress2(), and tjDecodeYUVPlanes() to avoid integer overflow when computing the row pointers in the 64-bit TurboJPEG C API. - Modify TJBench (both C and Java versions) to avoid overflowing the size argument to malloc()/new and to fail gracefully if such an overflow is unavoidable. In general, this allows gigapixel images to be accommodated by the 64-bit TurboJPEG C API when using automatic JPEG buffer (re)allocation. Such images cannot currently be accommodated without automatic JPEG buffer (re)allocation, due to the fact that tjAlloc() accepts a 32-bit integer argument (oops.) Such images cannot be accommodated in the TurboJPEG Java API due to the fact that Java always uses a signed 32-bit integer as an array index. Fixes #361
DRC f37b7c1f 2019-07-02T11:28:26 Build: Fix build/install with Xcode IDE Closes #355
Jonathan Wright 509c2680 2019-05-09T13:46:53 Use bias pattern for 4:4:0 (h1v2) fancy upsampling This commit modifies h1v2_fancy_upsample() so that it uses an ordered dither pattern, similar to that of h2v1_fancy_upsample(), rounding up or down the result for alternate pixels rather than always rounding down. This ensures that the decompression error pattern for a 4:4:0 JPEG image will be similar to the rotated decompression error pattern for a 4:2:2 JPEG image. Thus, the final result will be similar regardless of whether a 4:2:2 JPEG image is rotated or transposed before or after decompression. Closes #356
DRC ec5adb83 2019-05-18T17:58:50 Build/packaging: Support macOS package/DMG signing
DRC 051f4862 2019-05-09T20:46:18 Travis: Fix iOS build The new libjpeg-turbo 2.1.x official build scripts expect Xcode to be under /Applications/Xcode83.app.
DRC c055c880 2019-05-09T20:36:51 Discontinue support for 32-bit iOS builds
DRC 85d96d44 2019-05-09T19:13:39 Merge branch 'master' into dev
DRC c8e52741 2019-05-09T09:11:09 Travis: Use xcode8.3 image xcode7.3 is based on El Capitan, which is EOL, and Homebrew no longer provides El Cap bottles (pre-compiled binaries.) Thus, Homebrew was trying to build GCC 5, YASM, and the other packages we need from source, which caused the Mac CI builds to time out. I tried goading Homebrew into installing GCC 5.5.0_2 and YASM 1.3.0_1, which still have El Cap bottles available, by using the URLs of those specific versions of the formulae (from the Homebrew GitHub repository) as package names. This failed, however, because 'brew bundle' converted the URLs to all lowercase. I then tried explicitly installing the old formulae by using 'brew install' with the aforementioned URLs (bypassing the Travis Homebrew addon), but Homebrew still tried to build all of the dependencies from source. Upgrading to Xcode 8.3.x necessitated regression testing the performance on iOS, but that proved less of a pain than figuring out how to install all of the old Homebrew bottles we needed. Also, this future-proofs the CI builds against the inevitable discontinuation of the xcode7.3 image. Note that Xcode 8.3.x improves iOS 64-bit decompression performance significantly relative to Xcode 7.2.x or 7.3.x. iOS 32-bit performance unfortunately regresses by as much as 5%, but it can't be helped (32-bit iOS apps are no longer supported on iOS 11+ anyhow, and the next major release of libjpeg-turbo will remove support for them as well.)
DRC f36d5315 2019-04-23T14:54:23 Merge branch 'master' into dev
DRC 6399d0a6 2019-04-23T14:10:04 Fix code formatting/style issues ... ... including, but not limited to: - unused macros - private functions not marked as static - unprototyped global functions - variable shadowing (detected by various non-default GCC 8 warning options)
Chris Blume aa9db616 2019-04-15T17:55:47 x86 SIMD: Check for CPUID leaf 07H before using According to Intel's manual [1], "If a value entered for CPUID.EAX is higher than the maximum input value for basic or extended function for that processor then the data for the highest basic information leaf is returned." Right now, libjpeg-turbo doesn't first check that leaf 07H is supported before attempting to use it, so the ostensible AVX2 bit (Bit 05) of the CPUID result might actually be Bit 05 from a lower leaf. That bit might be set, even if the CPU doesn't support AVX2. This commit modifies the x86 and x86-64 SIMD feature detection code so that it first checks whether CPUID leaf 07H is supported before attempting to use it to check for AVX2 instruction support. DRC: This commit should fix https://bugzilla.mozilla.org/show_bug.cgi?id=1520760 However, I have not personally been able to reproduce that issue, despite using a Nehalem (pre-AVX2) CPU on which the maximum CPUID leaf has been limited via a BIOS setting. Closes #348 [1] "IntelĀ® 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (2A, 2B, 2C & 2D): Instruction Set Reference, A-Z", https://software.intel.com/sites/default/files/managed/a4/60/325383-sdm-vol-2abcd.pdf, page 3-192.
DRC 8a0e35b2 2019-04-15T13:41:45 Merge branch 'master' into dev
DRC 2b05d47b 2019-04-15T13:38:15 ChangeLog.md: Document 33011754
DRC 7bc9fca4 2019-04-12T09:07:35 jdhuff.c: Silence UBSan signed int overflow err #2 Same as d3a3a73f64041c6a6905faf6f9f9832e735fd880 but in the fast decode path. It was necessary to use a different-sized test image in order to trigger the error in this location. Refer to #347
DRC bb16b944 2019-04-12T08:53:45 GitHub: Remove new lines from feature-request.md (to make checkstyle happy)
DRC 33011754 2019-04-12T08:47:28 Android: Fix "using JNI after critical get" errors 5ea77d8b771bf7b0be7acc7fb70c255f8c9c8f77 was insufficient to fix all of these. In particular, we need to always release the primitive arrays before throwing an exception, because throwing an exception qualifies as "using JNI." Refer to #300
DRC bce58f48 2019-04-12T07:49:35 Consistify formatting of macros in TurboJPEG code
DRC ce067a6c 2019-04-10T15:16:55 GitHub: Template tweaks CONTRIBUTING.md: Correct misuse of "as such" (Grammar Police) bug-report.md: Clarify that the submitter should always test against the latest stable code base.
DRC d3a3a73f 2019-04-10T14:28:47 jdhuff.c: Silence UBSan signed int overflow error Some pathological test images have been created that can cause s to overflow or underflow the signed int data type during decompression. This is technically undefined behavior according to the C spec, although every modern implementation I'm aware of will treat the signed int as a 2's complement unsigned int, thus causing the value to wrap around to INT_MIN if it exceeds INT_MAX. This commit simply makes that behavior explicit in order to shut up UBSan. At least when building for x86-64 or i386 using Clang or GCC, this commit does not change the compiler-generated assembly code at all. The code that triggered this error has existed in the libjpeg code base for at least 20 years (and probably much longer), so the fact that it hasn't produced a user-visible problem in all of that time strongly suggests that UBSan is being overly pedantic here. But if someone can cough up a platform that doesn't wrap around to INT_MIN when 1 is added to INT_MAX, then I'll happily change my opinion. Fixes #347
DRC 58a3975e 2019-04-10T14:35:45 Bump version to 2.0.3 to prepare for new commits
DRC 5857929f 2019-03-05T17:48:20 GitHub: Formatting tweak to CONTRIBUTING.md
DRC 70947727 2019-03-01T13:13:27 GitHub: Tweak bug report template
DRC 1af712c1 2019-03-01T13:11:11 GitHub: Add feature request template
DRC ec90cd0f 2019-03-01T12:29:41 GitHub: Add contributor guidelines
DRC ce76ffac 2019-03-01T10:07:51 GitHub: Add bug report template
DRC afbe48c2 2019-02-27T13:05:58 MMI: Support 32-bit Loongson architectures
DRC 98ff5507 2019-02-27T13:17:35 MMI: Fix bug in jsimd_h2v1_merged_upsample_mmi() ... that occurred when ((image width) & 1) != 0.
DRC 3ca6dba9 2019-02-17T09:33:57 Merge branch 'master' into dev
DRC 500b5ece 2019-02-17T09:06:42 turbojpeg.c: Fix compiler warning w/ -DNO_GETENV
DRC 87ab3360 2019-02-14T10:01:16 appveyor.yml: Cache NASM binary package ... since www.nasm.us seems to be down frequently. This doesn't help us at the moment, but hopefully once the site is back up this will prevent future build failures.
Chris Blume b46af82c 2019-02-12T17:35:10 ARMv7 NEON: #ifdef unused funcs/vars w/ -mfpu=neon When simd/arm/jsimd.c is compiled with __ARM_NEON__ defined (which will be the case if -mfpu=neon is passed to the compiler), the parse_proc_cpuinfo() and check_feature() functions and the bufsize variable are unused and thus need to be #ifdef'ed out in order to avoid compiler warnings. Note that the bufsize variable was already #ifdef'ed out on Linux but not on Android due to lack of parentheses (&& takes precedence over ||.) Closes #331
DRC a4aa30d9 2019-02-13T22:03:31 ChangeLog.md: "floating-point"="floating point"
DRC aaf58dab 2019-02-13T17:05:26 Merge branch 'master' into dev
DRC 0d7818d1 2019-02-13T16:22:18 rpm.spec.in: Fix "File listed twice" warning/error %{_libdir}/pkgconfig is a directory and should thus be prefixed by %{dir} (oops.) This issue caused the debuginfo build under RHEL 8 (which is apparently now enabled by default-- regardless of whether the RPM actually contains debug info, but that's another matter) to fail with: RPM build errors: File listed twice: /opt/libjpeg-turbo/lib64/pkgconfig/libjpeg.pc File listed twice: /opt/libjpeg-turbo/lib64/pkgconfig/libturbojpeg.pc
DRC 4b67db4d 2019-02-13T15:20:34 rpm.spec.in: Fix doc packaging issues w/ RHEL 7+ On RHEL 7 and later (not sure exactly whether this is a product of the newer RPM release or something distro-specific), macros are lazily expanded, so we need to set _docdir using %global (which expands at definition time) and prior to _prefix and _datarootdir (which affect _defaultdocdir.) Otherwise, _docdir is set to a subdirectory of /opt/libjpeg-turbo/share/doc or /opt/libjpeg-turbo/doc. The former (which happens on RHEL 7) leads to incorrect documentation packaging (the docs should be packaged under /usr/share/doc per Red Hat standards), and the latter (which happens on RHEL 8) leads to an RPM build error.
DRC f70a7e1e 2019-02-12T15:37:21 rpm.spec.in: Update deprecated [Build]Prereq tags AFAICT, Requires and BuildRequires subsumed the functionality of Prereq and BuildPrereq in RPM 4.0, and none of the platforms we support with libjpeg-turbo 2.0.x has RPM < 4.4.
DRC a9075a17 2019-02-12T13:42:57 Merge branch 'master' into dev
DRC 6a8421fb 2019-02-12T13:30:15 GNUInstallDirs.cmake: Silence CMP0054 warning ... in CMake 3.11 and later
DRC 031e16ec 2019-02-11T22:43:15 tjbench.c: Fix GCC 8 compiler warning
DRC 75be88cf 2019-02-11T13:10:09 Build: Optionally install PDB files for MSVC DLLs Based on https://github.com/Youw/libjpeg-turbo/commit/333a36ae984a52e547ddeb23848873d3cc798047 Closes #329 Closes #324
DRC bdec9958 2019-02-01T01:16:13 MMI: Fix unaligned decomp. perf. for 32-bit PFs (Oversight from db84125fcb05bbc48430b53d45b89392a8f3609e)
DRC fa905fbf 2019-02-01T00:42:09 MMI: Use unaligned stores w/ merged upsampling ... when necessary. This was an oversight from 2f9e7c84d1a95c1bae8bb8d38fbc2adaeecf4d41
DRC 9aada25c 2019-02-01T01:01:38 Merge branch 'master' into dev
DRC e2442e07 2019-02-01T00:56:02 MMI: Fix unaligned comp. perf. for 32-bit PFs also (Oversight from 1c2d3cfaaf7324d9091ba3cc4e900f60a16fe1aa)
DRC 73fd6041 2019-02-01T00:24:09 MMI: Fix formatting issue detected by checkstyle
DRC 2f9e7c84 2019-01-31T21:24:13 Loongson MMI h2v1 and h2v2 merged upsampling Based on: https://github.com/zhanglixia-hf/libjpeg-turbo/commit/e8f5cee5aa83e2d1b0af3a7bd0aaa2391c930fb2
DRC 3c7199ff 2019-01-31T16:22:31 Loongson MMI h2v1 fancy upsampling Based on: https://github.com/zhanglixia-hf/libjpeg-turbo/commit/e8f5cee5aa83e2d1b0af3a7bd0aaa2391c930fb2
DRC 73b98acd 2019-01-31T13:54:46 Loongson MMI RGB-to-Grayscale conversion Based on: https://github.com/zhanglixia-hf/libjpeg-turbo/commit/e8f5cee5aa83e2d1b0af3a7bd0aaa2391c930fb2
DRC bb0d1702 2019-01-30T22:41:57 Improve readability of Loongson MMI code We have more than eight registers to work with, as well as three-operand intrinsics, so there's no need for the implementation to be such a literal port of the MMX code.
DRC db84125f 2019-01-30T14:12:06 MMI: Use aligned store instructions when possible This improves decompression performance by 2-5%.
DRC ae4221f9 2019-01-29T19:51:08 Loongson MMI fast forward/inverse DCT Based on: https://github.com/zhanglixia-hf/libjpeg-turbo/commit/32a9ca222d7e4c8e01bb75cd137f204a0587b383
DRC 674343ab 2019-01-31T15:30:25 Merge branch 'master' into dev
DRC 1c2d3cfa 2019-01-30T12:43:45 MMI: Fix comp. perf. issue w/ unaligned image rows Using ldc1 with a non-64-bit-aligned memory location causes as much as a 10x slow-down in overall compression performance.
DRC 2d0b675a 2019-01-25T16:46:02 Build: Fix install of static build w/ VStudio IDE Unfortunately, this hack is necessary because: - install(TARGETS, ...) doesn't support the RENAME option. - We can't modify OUTPUT_NAME for the "-static" targets without breaking the regression tests. - ${CMAKE_CFG_INTDIR} doesn't seem to work properly in an install() command. Refer to #307
DRC 6fac9094 2019-01-23T16:18:41 wrbmp.c, wrtarga.c: Remove unused variables (should have been done with the previous commit)
DRC 01e30323 2019-01-23T14:58:24 Eliminate support for compilers w/o unsigned char libjpeg-turbo has never really supported such compilers, since (AFAIK) they are non-existent on any modern computing platform and thus impossible for us to test. (Also, the TurboJPEG API would break without unsigned chars.) Furthermore, the unified CMake-based build system introduced in 2.0 always defines HAVE_UNSIGNED_CHAR, so retaining other code paths is pointless. Eliminating support for compilers without unsigned char eliminates the need for the GETJSAMPLE() macro, which improves the readability of many parts of the code as well as improving the performance of writing Targa and Windows BMP files. Fixes #317
DRC 42d62bf1 2019-01-23T11:20:11 Merge branch 'master' into dev
DRC 90e2d7f3 2019-01-23T08:27:45 LICENSE.md: Clarifications RE: BSD & zlib licenses Including the license templates was confusing to some, since it made it appear as if the copyright year and author were unspecified for the libjpeg-turbo source. Thus, rather than include the zlib License template, link to that template on opensource.org. For the Modified BSD License, include a roll-up of copyright years and authors, since the terms of that license require the text of it to be included in product documentation for binary distributions without accompanying source code.
DRC 5308c1a0 2019-01-22T12:11:03 BUILDING.md: Update/simplify Android build instr. Use the android.toolchain.cmake toolchain file in the NDK (v13b or later), since this toolchain file generally takes care of setting the approprate compiler flags and dealing with the differences between GCC and Clang. Our custom Android build procedure did not work with Clang-based NDK toolchains, which meant that it could not be made to work with NDK v18b or later. Fixes #309
Orivej Desh ce90ab5d 2019-01-21T22:56:56 Build: Fix regression test failure w/ ctest -j The djpeg rgb-islow-icc-cmp test must run after the djpeg rgb-islow test, since the latter generates testout_rgb_islow.icc.
DRC 1ee87a9e 2019-01-21T16:25:02 djpeg: Fix PPM output regression w/ color quant. Regression caused by aa7459050d7a50e1d8a99488902d41fbc118a50f Fix based on: https://github.com/sinic/libjpeg-turbo/commit/03fbacb8ebf1fffc3f2d2db26ddf4db8b1f6aa7b Closes #310
DRC 479501b0 2019-01-21T13:57:55 TurboJPEG: Decompress 4:4:4 JPEGs with unusual SFs Normally, 4:4:4 JPEGs have horizontal x vertical luminance & chrominance sampling factors of 1x1. However, it is technically legal to create 4:4:4 JPEGs with sampling factors of 2x1, 1x2, 3x1, or 1x3, since the sums of the products of those sampling factors are still <= 10. The libjpeg API correctly decodes such images, so the TurboJPEG API should as well. Fixes #323
DRC a39c970d 2019-01-01T21:53:19 Merge branch 'master' into dev
DRC 12f3d0be 2019-01-01T21:52:21 Merge branch 'master' into dev
Stephen 9bc8eb64 2019-01-01T19:36:03 Travis: Use Homebrew addon to improve performance
DRC 0fa5ae6b 2019-01-01T21:16:33 TJBench Java: Properly handle transform warnings + warnings from TJDecompressor.decompressHeader()
DRC 1ff90822 2019-01-01T21:08:27 TJBench: Fix FPE when decompressing 0-width JPEG Fixes #319
DRC f8cca819 2019-01-01T20:32:40 wrbmp.c: Don't allow quantization w/ non-RGB CS If cinfo->quantize_colors == 1, then jpeg_calc_output_dimensions() will set cinfo->output_components to 1, and if cinfo->out_color_space is not RGB (or extended RGB), hilarity will ensue. Fixes #305
DRC beefb62a 2019-01-01T20:15:25 wrbmp.c: Use IsExtRGB() macro where appropriate (to improve readability)
DRC 3d9c64e9 2019-01-01T18:57:36 tjLoadImage(): Fix int overflow/segfault w/big BMP Fixes #304
DRC 23e8e0ff 2019-01-01T18:29:55 jversion.h: Bump copyright year to 2019
DRC c868e41b 2019-01-01T14:26:48 Build: Fix regr. that nuked RPATH in Mac/iOS build Caused by 950580eb0c020598a4c6c8aa46c86e31062e1ddc. Since the code that sets CMAKE_INSTALL_RPATH now depends on ENABLE_SHARED, that code needed to be moved to after the point at which ENABLE_SHARED is defined.
DRC 0696b0a4 2019-01-01T13:55:01 Bump version to 2.0.2 to prepare for new commits
DRC aa829dcf 2018-11-20T22:52:36 Travis: Fetch GPG key from libjpeg-turbo.org I give up on the public keyserver. It inexplicably just fails sometimes. I was trying to use it out of an abundance of caution (<cough> paranoia <cough>), but it seems like most open source projects just serve up their public keys from their project web sites. The private and public pre-release keys are still stored on separate sites, the private key is still strongly encrypted by Travis, and we use a separate key for pre-releases anyhow, so even if it's compromised, we can quickly and easily deploy a new one.