]> granicus.if.org Git - libjpeg-turbo/log
libjpeg-turbo
9 years agoDeclare inbuffer const
Kornel Lesiński [Thu, 8 Jan 2015 00:53:31 +0000 (00:53 +0000)]
Declare inbuffer const

9 years agoUpdate x86[-64] assembler recommendations
DRC [Tue, 4 Aug 2015 04:59:27 +0000 (23:59 -0500)]
Update x86[-64] assembler recommendations
NASM 2.11.08 has a bug that prevents it from properly assembling a
macho64 version of libjpeg-turbo (the resulting binary generates corrupt
images.)  2.11.09 works properly.  YASM also works properly and has been
a supported alternative since libjpeg-turbo 1.2.

9 years agoUpdate x86[-64] assembler recommendations
DRC [Tue, 4 Aug 2015 04:59:12 +0000 (23:59 -0500)]
Update x86[-64] assembler recommendations
NASM 2.11.08 has a bug that prevents it from properly assembling a
macho64 version of libjpeg-turbo (the resulting binary generates corrupt
images.)  2.11.09 works properly.  YASM also works properly and has been
a supported alternative since libjpeg-turbo 1.2.

9 years agoUpdate x86[-64] assembler recommendations
DRC [Tue, 4 Aug 2015 04:58:40 +0000 (23:58 -0500)]
Update x86[-64] assembler recommendations
NASM 2.11.08 has a bug that prevents it from properly assembling a
macho64 version of libjpeg-turbo (the resulting binary generates corrupt
images.)  2.11.09 works properly.  YASM also works properly and has been
a supported alternative since libjpeg-turbo 1.2.

9 years agoUpdate x86[-64] assembler recommendations
DRC [Tue, 4 Aug 2015 04:56:09 +0000 (23:56 -0500)]
Update x86[-64] assembler recommendations
NASM 2.11.08 has a bug that prevents it from properly assembling a
macho64 version of libjpeg-turbo (the resulting binary generates corrupt
images.)  2.11.09 works properly.  YASM also works properly and has been
a supported alternative since libjpeg-turbo 1.2.

9 years agoUpdate URL for our custom gas-preprocessor.pl
DRC [Mon, 3 Aug 2015 18:18:43 +0000 (13:18 -0500)]
Update URL for our custom gas-preprocessor.pl

9 years agoUpdate URL for our custom gas-preprocessor.pl
DRC [Mon, 3 Aug 2015 18:16:21 +0000 (13:16 -0500)]
Update URL for our custom gas-preprocessor.pl

9 years agoFix rare bug: right shift by a negative # of bits
DRC [Tue, 21 Jul 2015 21:43:39 +0000 (16:43 -0500)]
Fix rare bug: right shift by a negative # of bits
Under very rare circumstances, decompressing specific corrupt JPEG
images would create a situation whereby GET_BITS(1) was invoked
from within HUFF_DECODE_FAST() when bits_left=0. This produced a right
shift by a negative number of bits, which is undefined in C.

9 years agoFix rare bug: right shift by a negative # of bits
DRC [Tue, 21 Jul 2015 21:43:39 +0000 (16:43 -0500)]
Fix rare bug: right shift by a negative # of bits
Under very rare circumstances, decompressing specific corrupt JPEG
images would create a situation whereby GET_BITS(1) was invoked
from within HUFF_DECODE_FAST() when bits_left=0. This produced a right
shift by a negative number of bits, which is undefined in C.

9 years agoFix rare bug: right shift by a negative # of bits
DRC [Tue, 21 Jul 2015 21:43:39 +0000 (16:43 -0500)]
Fix rare bug: right shift by a negative # of bits
Under very rare circumstances, decompressing specific corrupt JPEG
images would create a situation whereby GET_BITS(1) was invoked
from within HUFF_DECODE_FAST() when bits_left=0. This produced a right
shift by a negative number of bits, which is undefined in C.

9 years agoConvert the BUILD stamp to AC_ARG_WITH argument, so we can make the build reproducible
Ondřej Surý [Tue, 28 Jul 2015 07:19:13 +0000 (09:19 +0200)]
Convert the BUILD stamp to AC_ARG_WITH argument, so we can make the build reproducible

9 years agoConvert svn:ignore properties to .gitignore
DRC [Mon, 27 Jul 2015 08:50:34 +0000 (03:50 -0500)]
Convert svn:ignore properties to .gitignore

9 years agoConvert svn:ignore properties to .gitignore 1.1.x
DRC [Mon, 27 Jul 2015 08:50:34 +0000 (03:50 -0500)]
Convert svn:ignore properties to .gitignore

9 years agoConvert svn:ignore properties to .gitignore 1.0.x
DRC [Mon, 27 Jul 2015 08:50:34 +0000 (03:50 -0500)]
Convert svn:ignore properties to .gitignore

9 years agoConvert svn:ignore properties to .gitignore
DRC [Mon, 27 Jul 2015 08:50:34 +0000 (03:50 -0500)]
Convert svn:ignore properties to .gitignore

9 years agoConvert svn:ignore properties to .gitignore
DRC [Mon, 27 Jul 2015 08:50:34 +0000 (03:50 -0500)]
Convert svn:ignore properties to .gitignore

9 years agoMerge pull request #4 from oerdnj/master
DRC [Tue, 28 Jul 2015 17:56:16 +0000 (12:56 -0500)]
Merge pull request #4 from oerdnj/master

Allow BUILD to be specified on the configure command line

9 years agoConvert the BUILD stamp to AC_ARG_WITH argument, so we can make the build reproducible
Ondřej Surý [Tue, 28 Jul 2015 07:19:13 +0000 (09:19 +0200)]
Convert the BUILD stamp to AC_ARG_WITH argument, so we can make the build reproducible

9 years agoConvert svn:ignore properties to .gitignore
DRC [Mon, 27 Jul 2015 08:50:34 +0000 (03:50 -0500)]
Convert svn:ignore properties to .gitignore

9 years agoFurther improvements to partial image decoding
DRC [Tue, 21 Jul 2015 22:36:18 +0000 (17:36 -0500)]
Further improvements to partial image decoding
When using context-based upsampling, use a dummy color conversion
routine instead of a dummy row buffer. This improves performance
(since the actual color conversion routine no longer has to be called),
and it also fixes valgrind errors when decompressing to RGB565.
Valgrind previously complained, because using the RGB565 color
converter with the dummy row buffer was causing a table lookup with
undefined indices.

9 years agoFix rare bug: right shift by a negative # of bits
DRC [Tue, 21 Jul 2015 21:43:39 +0000 (16:43 -0500)]
Fix rare bug: right shift by a negative # of bits
Under very rare circumstances, decompressing specific corrupt JPEG
images would create a situation whereby GET_BITS(1) was invoked
from within HUFF_DECODE_FAST() when bits_left=0. This produced a right
shift by a negative number of bits, which is undefined in C.

9 years agoFurther exception cleanup
DRC [Tue, 21 Jul 2015 14:34:02 +0000 (09:34 -0500)]
Further exception cleanup
Use a new checked exception type (TJException) when passing through
errors from the underlying C library. This gives the application a
choice of catching all exceptions or just those from TurboJPEG.

Throw IllegalArgumentException at the JNI level when arguments to the
JNI function are incorrect, and when one of the TurboJPEG "utility"
functions returns an error (because, per the C API specification, those
functions will only return an error if one of their arguments is out of
range.)

Remove "throws Exception" from the signature of any methods that no
longer pass through an error from the TurboJPEG C library.

Credit Viktor for the new code

Code formatting tweaks

9 years agoFix build whenever IDCT_SCALING_SUPPORTED is undefined
DRC [Tue, 14 Jul 2015 20:51:53 +0000 (20:51 +0000)]
Fix build whenever IDCT_SCALING_SUPPORTED is undefined

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1597 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix build whenever IDCT_SCALING_SUPPORTED is undefined
DRC [Tue, 14 Jul 2015 20:51:20 +0000 (20:51 +0000)]
Fix build whenever IDCT_SCALING_SUPPORTED is undefined

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1596 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoThrow idiomatic unchecked exceptions from the Java classes and JNI wrapper if there...
DRC [Tue, 14 Jul 2015 20:42:52 +0000 (20:42 +0000)]
Throw idiomatic unchecked exceptions from the Java classes and JNI wrapper if there is an unrecoverable error caused by incorrect API usage (such as illegal arguments, etc.), and throw Errors if there is an unrecoverable error at the C level (such as a failed malloc() call.)

Change the behavior of the bailif0() macro in the JNI wrapper so that it doesn't throw an exception for an unexpected NULL condition.  In fact, in all cases, the underlying JNI API function (such as GetFieldID(), etc.) will throw an Error on its own whenever it returns NULL, so our custom exceptions were never being thrown in that case anyhow.  All we need to do is just detect the error and bail out of the C code.

This also corrects a couple of formatting issues (semicolons aren't needed at the end of class definitions, and @Override should be specified for the methods we're overriding from super-classes, so the compiler can sanity-check that we're actually overriding a method and not declaring a new one.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1595 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAllow TJCompressor and TJDecompressor to be used with a try-with-resources statement...
DRC [Tue, 7 Jul 2015 16:39:03 +0000 (16:39 +0000)]
Allow TJCompressor and TJDecompressor to be used with a try-with-resources statement in Java 7 and later.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1594 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd additional protections against defining INT32 if another header has already defin...
DRC [Mon, 6 Jul 2015 16:04:04 +0000 (16:04 +0000)]
Add additional protections against defining INT32 if another header has already defined it (code borrowed from libjpeg v8.)  This isn't necessary when using the libjpeg-turbo build system on Windows, because the CMake generated jconfig.h defines INT32 and then defines XMD_H to trick jmorecfg.h into not redefining it.  However, some projects build libjpeg-turbo using their own build systems.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1593 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoThe Independent JPEG Group's JPEG software v8d jpeg-8d
Guido Vollbeding [Sun, 15 Jan 2012 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v8d

9 years agoThe Independent JPEG Group's JPEG software v8c jpeg-8c
Guido Vollbeding [Sun, 16 Jan 2011 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v8c

9 years agoThe Independent JPEG Group's JPEG software v8b jpeg-8b
Guido Vollbeding [Sun, 16 May 2010 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v8b

9 years agoThe Independent JPEG Group's JPEG software v8a jpeg-8a
Guido Vollbeding [Sun, 28 Feb 2010 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v8a

9 years agoThe Independent JPEG Group's JPEG software v8 jpeg-8
Guido Vollbeding [Sun, 10 Jan 2010 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v8

9 years agoThe Independent JPEG Group's JPEG software v7 jpeg-7
Guido Vollbeding [Sat, 27 Jun 2009 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v7

9 years agoThe Independent JPEG Group's JPEG software v6b with arithmetic coding support jpeg-ari
Guido Vollbeding [Sat, 28 Mar 1998 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v6b with arithmetic coding support

9 years agoThe Independent JPEG Group's JPEG software v6b jpeg-6b
Thomas G. Lane [Fri, 27 Mar 1998 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v6b

9 years agoThe Independent JPEG Group's JPEG software v6a jpeg-6a
Thomas G. Lane [Wed, 7 Feb 1996 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v6a

9 years agoThe Independent JPEG Group's JPEG software v6 jpeg-6
Thomas G. Lane [Wed, 2 Aug 1995 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v6

9 years agoThe Independent JPEG Group's JPEG software v5b jpeg-5b
Thomas G. Lane [Wed, 15 Mar 1995 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v5b

9 years agoThe Independent JPEG Group's JPEG software v5a jpeg-5a
Thomas G. Lane [Wed, 7 Dec 1994 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v5a

9 years agoThe Independent JPEG Group's JPEG software v5 jpeg-5
Thomas G. Lane [Sat, 24 Sep 1994 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v5

9 years agoThe Independent JPEG Group's JPEG software v4a jpeg-4a
Thomas G. Lane [Thu, 18 Feb 1993 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v4a

9 years agoThe Independent JPEG Group's JPEG software v4 jpeg-4
Thomas G. Lane [Thu, 10 Dec 1992 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v4

9 years agoThe Independent JPEG Group's JPEG software v3 jpeg-3
Thomas G. Lane [Tue, 17 Mar 1992 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v3

9 years agoThe Independent JPEG Group's JPEG software v2 jpeg-2
Thomas G. Lane [Fri, 13 Dec 1991 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v2

9 years agoThe Independent JPEG Group's JPEG software v1 jpeg-1
Thomas G. Lane [Mon, 7 Oct 1991 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v1

9 years agoAdd additional protections against defining INT32 if another header has already defin...
DRC [Mon, 6 Jul 2015 16:02:57 +0000 (16:02 +0000)]
Add additional protections against defining INT32 if another header has already defined it (code borrowed from libjpeg v8.)  This isn't necessary when using the libjpeg-turbo build system on Windows, because the CMake generated jconfig.h defines INT32 and then defines XMD_H to trick jmorecfg.h into not redefining it.  However, some projects build libjpeg-turbo using their own build systems.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1592 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix a memory leak in jpeg_skip_scanlines()
DRC [Wed, 1 Jul 2015 16:56:44 +0000 (16:56 +0000)]
Fix a memory leak in jpeg_skip_scanlines()

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1591 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoIncrement SO_AGE to reflect the addition of a new interface to the libjpeg API
DRC [Sat, 27 Jun 2015 08:10:34 +0000 (08:10 +0000)]
Increment SO_AGE to reflect the addition of a new interface to the libjpeg API

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1590 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd jpeg_skip_scanlines() to the Windows DLL export list.
DRC [Sat, 27 Jun 2015 08:10:33 +0000 (08:10 +0000)]
Add jpeg_skip_scanlines() to the Windows DLL export list.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1589 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix compiler warnings in jpeg_skip_scanlines() when building under Visual Studio.
DRC [Sat, 27 Jun 2015 08:10:32 +0000 (08:10 +0000)]
Fix compiler warnings in jpeg_skip_scanlines() when building under Visual Studio.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1588 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd regression tests for jpeg_skip_scanlines(); change "stripe" to "strip" in djpeg...
DRC [Sat, 27 Jun 2015 08:10:31 +0000 (08:10 +0000)]
Add regression tests for jpeg_skip_scanlines(); change "stripe" to "strip" in djpeg; document -strip and -skip parameters in djpeg

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1587 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix a couple of seg faults discovered when testing the new jpeg_skip_scanlines()...
DRC [Sat, 27 Jun 2015 08:10:30 +0000 (08:10 +0000)]
Fix a couple of seg faults discovered when testing the new jpeg_skip_scanlines() function + remove comment that is no longer relevant.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1586 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoMake sure that Java is disabled when 12-bit is enabled (Java requires TurboJPEG,...
DRC [Sat, 27 Jun 2015 07:57:44 +0000 (07:57 +0000)]
Make sure that Java is disabled when 12-bit is enabled (Java requires TurboJPEG, which currently only supports 8-bit samples), and tabs-->spaces

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1585 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoMake sure that Java is disabled when 12-bit is enabled (Java requires TurboJPEG,...
DRC [Sat, 27 Jun 2015 07:56:29 +0000 (07:56 +0000)]
Make sure that Java is disabled when 12-bit is enabled (Java requires TurboJPEG, which currently only supports 8-bit samples), and tabs-->spaces

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1584 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd a -skip option to djpeg, which opens up further regression testing options.
DRC [Thu, 25 Jun 2015 03:44:37 +0000 (03:44 +0000)]
Add a -skip option to djpeg, which opens up further regression testing options.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1583 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd a new libjpeg API function (jpeg_skip_scanlines()) to allow for partially decodin...
DRC [Thu, 25 Jun 2015 03:44:36 +0000 (03:44 +0000)]
Add a new libjpeg API function (jpeg_skip_scanlines()) to allow for partially decoding a JPEG image.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1582 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix 'make dist'
DRC [Sat, 20 Jun 2015 16:36:32 +0000 (16:36 +0000)]
Fix 'make dist'

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1574 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoThe Linux build machine has been upgraded to autoconf 2.69, automake 1.15, m4 1.4...
DRC [Sat, 20 Jun 2015 16:27:51 +0000 (16:27 +0000)]
The Linux build machine has been upgraded to autoconf 2.69, automake 1.15, m4 1.4.17, and libtool 2.4.6, so it is no longer necessary to recommend running autoreconf prior to building the source.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1573 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoStudies show that GCC v5.1.0 performs as well as or better than v4.2, but v4.7.x...
DRC [Sat, 20 Jun 2015 16:21:33 +0000 (16:21 +0000)]
Studies show that GCC v5.1.0 performs as well as or better than v4.2, but v4.7.x-v4.9.x do not perform as well as v4.2.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1572 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoStudies show that GCC v5.1.0 performs as well as or better than v4.2, but v4.7.x...
DRC [Sat, 20 Jun 2015 16:20:53 +0000 (16:20 +0000)]
Studies show that GCC v5.1.0 performs as well as or better than v4.2, but v4.7.x-v4.9.x do not perform as well as v4.2.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1571 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoTypo
DRC [Sat, 20 Jun 2015 15:51:34 +0000 (15:51 +0000)]
Typo

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1570 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoClarify that the TurboJPEG API functions/methods do not modify the source buffer.
DRC [Fri, 19 Jun 2015 16:07:14 +0000 (16:07 +0000)]
Clarify that the TurboJPEG API functions/methods do not modify the source buffer.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1567 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoNow that the TurboJPEG API is reporting libjpeg warnings as errors, an "Invalid SOS... 1.4.1
DRC [Mon, 8 Jun 2015 18:31:34 +0000 (18:31 +0000)]
Now that the TurboJPEG API is reporting libjpeg warnings as errors, an "Invalid SOS parameters for sequential JPEG" warning surfaced in tjDecodeYUV*().  This was caused by the Se member of jpeg_decompress_struct being set to 0 (it is normally set to a non-zero value when the start-of-scan markers are read, but there are no SOS markers in this case, because we're not actually decompressing a JPEG file.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1564 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix a segfault that occured in the MIPS DSPr2 fancy upsampling routine when downsampl...
DRC [Mon, 8 Jun 2015 17:41:34 +0000 (17:41 +0000)]
Fix a segfault that occured in the MIPS DSPr2 fancy upsampling routine when downsampled_width==3.  Because the DSPr2 code unrolls the loop for the middle columns (refer to jdsample.c), it has the effect of performing two column iterations, and that only works properly if the number of columns (minus the first and last) is >= 2.  For the specific case of downsampled_width==3, this patch skips to the second iteration of the unrolled column loop.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1562 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoIf a warning (such as "Premature end of JPEG file") is triggered in the underlying...
DRC [Mon, 1 Jun 2015 19:22:41 +0000 (19:22 +0000)]
If a warning (such as "Premature end of JPEG file") is triggered in the underlying libjpeg API, make sure that the TurboJPEG API function returns -1.  Unlike errors, however, libjpeg warnings do not make the TurboJPEG functions abort.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1561 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoBack out r1555 and r1548. Using setenv() didn't fix the iOS simulator issue. It...
DRC [Sun, 17 May 2015 15:56:18 +0000 (15:56 +0000)]
Back out r1555 and r1548.  Using setenv() didn't fix the iOS simulator issue.  It just replaced an undefined _putenv$UNIX2003 symbol with an undefined _setenv$UNIX2003 symbol.  The correct solution seems to be to use -D_NONSTD_SOURCE when generating our official builds.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1557 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix the Windows build. I remember now why I used putenv() originally-- because Windo...
DRC [Sat, 16 May 2015 04:18:21 +0000 (04:18 +0000)]
Fix the Windows build.  I remember now why I used putenv() originally-- because Windows doesn't have setenv().  We could use _putenv_s(), but older versions of MinGW don't have that either.  Fortunately, since all of the environment values we're setting in turbojpeg.c are static, we can just map setenv() to putenv() using a macro.  NOTE: we still have to use _putenv_s() in turbojpeg-jni.c, but at least people who may need to build with an older version of MinGW can still do so by disabling the Java build.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1555 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAllow building only static or only shared libraries on Windows
DRC [Fri, 15 May 2015 22:08:21 +0000 (22:08 +0000)]
Allow building only static or only shared libraries on Windows

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1553 632fc199-4ca6-4c93-a231-07263d6284db

9 years ago__WORDSIZE doesn't seem to be available on platforms other than Mac or Linux, and...
DRC [Fri, 15 May 2015 19:09:44 +0000 (19:09 +0000)]
__WORDSIZE doesn't seem to be available on platforms other than Mac or Linux, and best practices are for user-level code not to rely on it anyhow, since it's meant to be an internal macro.  Fortunately, autoconf already has a way of determining the word size at configure time, so it can be passed into the compiler.  This should work on any platform and has been tested on all of the Un*x platforms we support (Linux, Mac, FreeBSD, Solaris.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1550 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoUnless you define _ANSI_SOURCE, then putenv() on Mac is renamed to putenv$UNIX2003...
DRC [Fri, 15 May 2015 18:23:59 +0000 (18:23 +0000)]
Unless you define _ANSI_SOURCE, then putenv() on Mac is renamed to putenv$UNIX2003(), and this causes problems when trying to link an i386 iOS application (for the simulator) against the TurboJPEG static library.  It's easiest to just use setenv() instead.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1548 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix a bug in the 64-bit Huffman encoder that Google discovered when encoding some...
DRC [Wed, 6 May 2015 22:41:12 +0000 (22:41 +0000)]
Fix a bug in the 64-bit Huffman encoder that Google discovered when encoding some very specific (and proprietary) aerial images using quality=98, an optimized Huffman table, and the ISLOW DCT.  These images were causing the Huffman bit buffer to overflow, because the code for encoding the DC coefficient was using the equivalent of the 32-bit version of EMIT_BITS().  Thus, when 64-bit code was used, the DC coefficient code was not properly checking how many bits were in the buffer before attempting to add more bits to it.  This issue appears to have existed in all versions of libjpeg-turbo.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1547 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoRestore backward compatibility with MSVC < 2010 (broken by r1541)
DRC [Thu, 30 Apr 2015 09:05:53 +0000 (09:05 +0000)]
Restore backward compatibility with MSVC < 2010 (broken by r1541)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1543 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoOops. OS X doesn't define __WORDSIZE unless you include stdint.h, so apparently...
DRC [Wed, 22 Apr 2015 08:43:04 +0000 (08:43 +0000)]
Oops.  OS X doesn't define __WORDSIZE unless you include stdint.h, so apparently the Huffman codec hasn't ever been fully accelerated on 64-bit OS X.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1541 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAllow the executables and libraries outside of the sharedlib/ directory to be linked...
DRC [Thu, 19 Mar 2015 19:27:40 +0000 (19:27 +0000)]
Allow the executables and libraries outside of the sharedlib/ directory to be linked against msvcr*.dll instead of libcmt*.lib.  This is reported to be necessary when building libjpeg-turbo for use with C#.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1539 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoSurround the usage of getenv() in the TurboJPEG API with #ifndef NO_GETENV so that...
DRC [Mon, 23 Feb 2015 19:19:40 +0000 (19:19 +0000)]
Surround the usage of getenv() in the TurboJPEG API with #ifndef NO_GETENV so that developers can add -DNO_GETENV to the C flags when building for platforms that don't have getenv().  Currently this is known to be necessary when building for Windows Phone.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1537 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoIf libjpeg-turbo is configured with a non-default prefix, such as /usr, then use...
DRC [Mon, 23 Feb 2015 19:06:44 +0000 (19:06 +0000)]
If libjpeg-turbo is configured with a non-default prefix, such as /usr, then use the docdir variable defined by autoconf 2.60 and later, if available.  This will, for instance, install the documentation under /usr/share/doc/libjpeg-turbo by default if prefix=/usr, unless docdir is overridden.  When using earlier versions of autoconf, docdir is set to ${datadir}/doc, as it always has been.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1535 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoEnable silent build rules for the NASM objects, if the source is configured with...
DRC [Mon, 23 Feb 2015 19:03:29 +0000 (19:03 +0000)]
Enable silent build rules for the NASM objects, if the source is configured with automake 1.11 or later.  NOTE: the build still spits out "error: ignoring unknown tag NASM" for each object, but unfortunately, if we remove "--tag NASM" from the command line, the build breaks under older versions of automake (it aborts with "unable to infer tagged configuration.")

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1534 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoSet the RPM and deb architecture properly on non-x86 platforms.
DRC [Fri, 20 Feb 2015 20:12:15 +0000 (20:12 +0000)]
Set the RPM and deb architecture properly on non-x86 platforms.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1531 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoExtend the AltiVec VMX SIMD routines to support little endian PowerPC platforms.
DRC [Fri, 20 Feb 2015 19:57:21 +0000 (19:57 +0000)]
Extend the AltiVec VMX SIMD routines to support little endian PowerPC platforms.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1529 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoCome on, Cohaagen, you got what you want. Give these people air!
DRC [Wed, 28 Jan 2015 00:26:28 +0000 (00:26 +0000)]
Come on, Cohaagen, you got what you want.  Give these people air!

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1528 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoCome on, Cohaagen, you got what you want. Give these people air!
DRC [Wed, 28 Jan 2015 00:25:43 +0000 (00:25 +0000)]
Come on, Cohaagen, you got what you want.  Give these people air!

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1527 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoOops. Need to set the alpha channel when using TYPE_4BYTE_ABGR*. This has no bearin...
DRC [Tue, 27 Jan 2015 21:00:22 +0000 (21:00 +0000)]
Oops.  Need to set the alpha channel when using TYPE_4BYTE_ABGR*.  This has no bearing on the actual tests, but it prevents the PNG pre-encode reference images for those tests from being blank.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1526 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoOops. Need to set the alpha channel when using TYPE_4BYTE_ABGR*. This has no bearin...
DRC [Tue, 27 Jan 2015 20:59:16 +0000 (20:59 +0000)]
Oops.  Need to set the alpha channel when using TYPE_4BYTE_ABGR*.  This has no bearing on the actual tests, but it prevents the PNG pre-encode reference images for those tests from being blank.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1525 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoOops. The MIPS SIMD implementations of h2v1 and h2v2 upsampling were not checking...
DRC [Wed, 21 Jan 2015 17:42:28 +0000 (17:42 +0000)]
Oops.  The MIPS SIMD implementations of h2v1 and h2v2 upsampling were not checking for DSPr2 support, so running 'djpeg -nosmooth' on a non-DSPr2-enabled platform caused an "illegal instruction" error.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1523 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoIntroduce fast paths to speed up NULL color conversion somewhat, particularly when...
DRC [Tue, 20 Jan 2015 10:33:32 +0000 (10:33 +0000)]
Introduce fast paths to speed up NULL color conversion somewhat, particularly when using 64-bit code;  on the decompression side, the "slow path" also now use an approach similar to that of the compression side (with the component loop outside of the column loop rather than inside.)  This is faster when using 32-bit code.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1521 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoSome clarifications (actually MIPS doesn't implement the float DCT/IDCT using SIMD...
DRC [Fri, 16 Jan 2015 07:16:53 +0000 (07:16 +0000)]
Some clarifications (actually MIPS doesn't implement the float DCT/IDCT using SIMD instructions)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1517 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoMake the floating point regression tests optional. It has been known for quite some...
DRC [Fri, 16 Jan 2015 06:53:36 +0000 (06:53 +0000)]
Make the floating point regression tests optional.  It has been known for quite some time that these tests do not always generate the same results unless there is full SIMD coverage of the floating point algorithms in libjpeg-turbo.  Further research reveals that there are basically three expected results:  the results from our SSE SIMD extensions (which are slightly more accurate than the C code), results from the C code when running on a 32-bit FPU (or when using SSE instructions on an x86-64 CPU, which is the default with GCC), and results from the C code when running on a 64-bit FPU (which presumably uses double-precision arithmetic by default.)  There is basically no way to determine which type of math will be used prior to run time, so it's best to just let the developers specify which result they expect on their particular system.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1515 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoIn the process of developing the AltiVec extensions, it was discovered that the norma...
DRC [Fri, 16 Jan 2015 06:45:54 +0000 (06:45 +0000)]
In the process of developing the AltiVec extensions, it was discovered that the normal regression tests aren't sufficient to test the behavior of the library with very small image sizes and when compressing from/decompressing to a subregion of a larger image buffer.  Thus, an additional regression test was added that takes advantage of the tiled compression/decompression feature in tjbench.  This is being back-ported to the 1.4.x branch primarily to verify that there are no lingering issues in the existing SIMD extensions.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1514 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd separate pseudo-targets for the TurboJPEG and libjpeg regression tests, for those...
DRC [Fri, 16 Jan 2015 06:37:03 +0000 (06:37 +0000)]
Add separate pseudo-targets for the TurboJPEG and libjpeg regression tests, for those times when you just don't want to sit through 11 iterations of TJUnitTest to find out that your algorithm is broken.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1513 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoBump copyright year
DRC [Fri, 16 Jan 2015 06:34:08 +0000 (06:34 +0000)]
Bump copyright year

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1512 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd the ability to benchmark YCCK JPEG compression/decompression. This is particular...
DRC [Fri, 16 Jan 2015 06:29:52 +0000 (06:29 +0000)]
Add the ability to benchmark YCCK JPEG compression/decompression.  This is particularly useful since that is the only way to test the performance of the "plain" upsampling routines, which are accelerated on some platforms.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1511 632fc199-4ca6-4c93-a231-07263d6284db

9 years ago1.4.1
DRC [Fri, 16 Jan 2015 06:17:05 +0000 (06:17 +0000)]
1.4.1

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1510 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoDocument AltiVec extensions
DRC [Fri, 16 Jan 2015 03:21:05 +0000 (03:21 +0000)]
Document AltiVec extensions

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1508 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoRevert r1506 (we actually are generating columns with the IDCT, so the naming makes...
DRC [Fri, 16 Jan 2015 03:13:16 +0000 (03:13 +0000)]
Revert r1506 (we actually are generating columns with the IDCT, so the naming makes sense in retrospect);  further de-confusification in the forward DCT

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1507 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoDe-confusify the variable names a bit -- "out" represents the output of the IDCT...
DRC [Thu, 15 Jan 2015 08:51:31 +0000 (08:51 +0000)]
De-confusify the variable names a bit -- "out" represents the output of the IDCT kernel, so use "final" to represent the packed data that will be stored to memory.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1506 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAdd the ability to benchmark YCCK JPEG compression/decompression. This is particular...
DRC [Wed, 14 Jan 2015 19:39:01 +0000 (19:39 +0000)]
Add the ability to benchmark YCCK JPEG compression/decompression.  This is particularly useful since that is the only way to test the performance of the "plain" upsampling routines, which are accelerated on some platforms.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1505 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAltiVec SIMD implementation of H2V1 and H2V2 plain upsampling (used only when decompr...
DRC [Wed, 14 Jan 2015 15:41:11 +0000 (15:41 +0000)]
AltiVec SIMD implementation of H2V1 and H2V2 plain upsampling (used only when decompressing YCCK images with fast upsampling enabled.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1504 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoAltiVec SIMD implementation of H2V1 and H2V2 merged upsampling
DRC [Wed, 14 Jan 2015 13:27:32 +0000 (13:27 +0000)]
AltiVec SIMD implementation of H2V1 and H2V2 merged upsampling

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1503 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix an overread detected by valgrind
DRC [Wed, 14 Jan 2015 13:07:06 +0000 (13:07 +0000)]
Fix an overread detected by valgrind

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1502 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoFix bugs in the AltiVec fancy upsampling routines uncovered during additional testing...
DRC [Wed, 14 Jan 2015 10:45:31 +0000 (10:45 +0000)]
Fix bugs in the AltiVec fancy upsampling routines uncovered during additional testing with small image sizes.  Since the input width is half the output width, the upsampler should only write a second 16-byte chuck if there are more than 8 input columns left.  Additionally, if the width is < 16, then we need to insert a dummy sample (the SSE2 code does this as well, but I neglected to port that portion of the code for some reason.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1501 632fc199-4ca6-4c93-a231-07263d6284db