- 3bf21e0 Fix the build of the Java classes when using MSVC 2010 and later. Something in the recesses of my brain is telling me that I tried this before and it failed under some circumstances, but it must have been a bug in an older CMake implementation. CMake 2.8.8 and later seem to work fine with this patch. This patch also updates the minimum required version to 2.8.8, because 2.8.8 fixed another issue that was preventing the SIMD code from building under MSVC 2010 and later. by DRC · 10 years ago
- d45c549 Fix the build of the Java classes when using MSVC 2010 and later. Something in the recesses of my brain is telling me that I tried this before and it failed under some circumstances, but it must have been a bug in an older CMake implementation. CMake 2.8.8 and later seem to work fine with this patch. This patch also updates the minimum required version to 2.8.8, because 2.8.8 fixed another issue that was preventing the SIMD code from building under MSVC 2010 and later. by DRC · 10 years ago
- 34dca05 Implement a YUV decode function in the TurboJPEG API, to be symmetric with tjEncodeYUV(). by DRC · 11 years ago
- 2c0c807 Fix an issue that prevented tjEncodeYUV2() and TJCompressor.encodeYUV() from working properly if the source image was very tiny. Basically, jpeg_start_compress() was attempting to write the JPEG headers, which was overrunning the YUV buffer. This patch removes the call to jpeg_start_compress() in tjEncodeYUV2() and replaces it with calls to the individual routines that are necessary to initialize the color converter and downsampler. TJUnitTest has also been modified to test for this condition (the buffer size regression test now works in YUV mode.) by DRC · 11 years ago
- 38c9970 Fix an issue that prevented tjEncodeYUV3() and TJCompressor.encodeYUV() from working properly if the source image was very tiny. Basically, jpeg_start_compress() was attempting to write the JPEG headers, which was overrunning the YUV buffer. This patch removes the call to jpeg_start_compress() in tjEncodeYUV3() and replaces it with calls to the individual routines that are necessary to initialize the color converter and downsampler. TJUnitTest has also been modified to test for this condition (the buffer size regression test now works in YUV mode.) by DRC · 11 years ago
- a113506 Some motion JPEG implementations generate "abbreviated JPEG streams" (JPEG images without the default tables included) for some or all of the video frames, in order to save space. When these are encountered, it is generally expected that they will be decompressed using the default Huffman tables, so libjpeg-turbo now does this unless the tables have been explicitly specified by an application. by DRC · 11 years ago
- 7ebf294 Fix CVE-2013-6629 and CVE-2013-6630 by DRC · 11 years ago
- 43d8cf4 Fix CVE-2013-6629 and CVE-2013-6630 by DRC · 11 years ago
- 9f9436a Fix CVE-2013-6629 and CVE-2013-6630 by DRC · 11 years ago
- 910a357 Extend the TurboJPEG C API to support compressing JPEG images from YUV planar images by DRC · 11 years ago
- d64e23e adjust DSPr2 performance claims by DRC · 11 years ago
- a6b7fbd SIMD-accelerated slow integer forward DCT and quantize routines for MIPS DSPr2 by DRC · 11 years ago
- 982e209 Actually, the second bug was hidden by the first, so the initial ChangeLog entry was correct from the user's point of view. by DRC · 11 years ago
- cadabd4 Actually, the second bug was hidden by the first, so the initial ChangeLog entry was correct from the user's point of view. by DRC · 11 years ago
- e8be2c6 Fix an issue that resulted in an error ("Invalid SOS parameters for sequential JPEG. Didn't expect more than one scan.") when decoding progressive+arithmetic JPEGs generated by libjpeg-turbo. by DRC · 11 years ago
- 56e017d Fix an issue that resulted in an error ("Invalid SOS parameters for sequential JPEG. Didn't expect more than one scan.") when decoding progressive+arithmetic JPEGs generated by libjpeg-turbo. by DRC · 11 years ago
- e500591 SIMD-accelerated 3/4 and 3/2 decompression scaling for MIPS DSPr2 by DRC · 11 years ago
- 49eaa75 SIMD-optimized RGB-to-grayscale conversion for MIPS DSPr2 by DRC · 11 years ago
- 5d2514b We can't enable optimized entropy coding unless we're using Huffman coding. This fixes a bug whereby attempting to create a progressive JPEG with arithmetic coding would fail. by DRC · 11 years ago
- 2c63c00 Clarify that the bug affects cjpeg as well as jpegtran. by DRC · 11 years ago
- 27df2a4 Clarify that the bug affects cjpeg as well as jpegtran. by DRC · 11 years ago
- ba923a8 Fix I/O suspension. This little nugget of code was introduced in r30 as part of an early attempt to make buffered I/O work with the optimized Huffman codec. Ultimately, r32 reverted a lot of that mess and introduced much of the logic we now use, rendering this code unnecessary, but it was never reverted because it only causes problems when I/O suspension is used, and apparently no one has tried to do that with libjpeg-turbo until now. by DRC · 11 years ago
- 1370f10 We can't enable optimized entropy coding unless we're using Huffman coding. This fixes a bug whereby attempting to create a progressive JPEG with arithmetic coding would fail. by DRC · 11 years ago
- 216cc64 We can't enable optimized entropy coding unless we're using Huffman coding. This fixes a bug whereby attempting to create a progressive JPEG with arithmetic coding would fail. by DRC · 11 years ago
- ae8d0dc In the Windows installer packages, place a duplicate copy of turbojpeg.dll in c:\libjpeg-turbo[-gcc][64]\bin. This is mainly to give installers an easy way to find the DLL for the purposes of bundling it. Specifically, this was necessary for TurboVNC, becuase 32-bit CMake running on 64-bit Windows cannot ever access the "real" c:\windows\system32 directory. by DRC · 11 years ago
- 4d87793 In the Windows installer packages, place a duplicate copy of turbojpeg.dll in c:\libjpeg-turbo[-gcc][64]\bin. This is mainly to give installers an easy way to find the DLL for the purposes of bundling it. Specifically, this was necessary for TurboVNC, becuase 32-bit CMake running on 64-bit Windows cannot ever access the "real" c:\windows\system32 directory. by DRC · 11 years ago
- ce84fc8 by DRC · 11 years ago
- 7185b71 by DRC · 11 years ago
- 1f3635c Add 4:1:1 subsampling support in the TurboJPEG C API by DRC · 11 years ago
- 96573d0 By default, install the libraries into /opt/libjpeg-turbo/lib32 on any 32-bit system, not just x86, and into /opt/libjpeg-turbo/lib64 on any 64-bit system, not just x86-64. In particular, this addresses an issue with building TurboVNC and VirtualGL on ARM systems. by DRC · 11 years ago
- dadebe9 Document previous commit in the change log by DRC · 11 years ago
- 0be9fa5 SIMD support for performing color conversion using MIPS DSPr2 instructions by DRC · 11 years ago
- f610d61 Extend the TurboJPEG C API to support generating YUV images with arbitrary padding and to support image scaling when decompressing to YUV by DRC · 11 years ago
- 4c17a45 Fix I/O suspension. This little nugget of code was introduced in r30 as part of an early attempt to make buffered I/O work with the optimized Huffman codec. Ultimately, r32 reverted a lot of that mess and introduced much of the logic we now use, rendering this code unnecessary, but it was never reverted because it only causes problems when I/O suspension is used, and apparently no one has tried to do that with libjpeg-turbo until now. by DRC · 11 years ago
- d7a642b Minor doc tweaks + ChangeLog update by DRC · 11 years ago
- 764e1e2 Overhaul Linux/Unix packaging system, primarily to avoid conflicts with vendor-supplied libjpeg-turbo packages (such as in Fedora and RHEL 6.) This also streamlines the packaging system somewhat, since it is no longer necessary to move the TurboJPEG libraries into the system library directory. Relocating those libraries was originally done to provide backward compatibility with TurboJPEG/IPP, but that package is long obsolete, and the software that formerly used it has been linking statically with libjpeg-turbo for quite some time. by DRC · 11 years ago
- 5a84a0e by DRC · 12 years ago
- 0bf58f2 Include a C version of md5cmp rather than depending on an external md5sum binary, since md5sum is not available on all platforms (specifically, it doesn't exist on FreeBSD, and it has to be installed via MacPorts on OS X.) by DRC · 12 years ago
- a2a2cd6 Include ARM v7s (iPhone 5, iPad 4) support in the universal libjpeg/libturbojpeg libraries distributed with our official binary package for OS X. by DRC · 12 years ago
- 5039d73 Eliminated the awkward and confusing "TurboJPEG/OSS" designation, since there are no other active implementations of the TurboJPEG API anymore; don't refer to the libjpeg API library as "libjpeg-turbo" anymore, since that can be confusing; ARM v7s build instructions by DRC · 12 years ago
- ab70623 Implement in-memory source/destination managers even when not emulating the libjpeg v8 API/ABI by DRC · 12 years ago
- b87a0b4 Fix the x86 build with NASM 0.98. Since NASM 0.98 is the default version on OS X, we want to at least allow people to build 32-bit code with it, even though it can't properly build 64-bit code. by DRC · 12 years ago
- 00c2cf3 Fix the x86 build with NASM 0.98. Since NASM 0.98 is the default version on OS X, we want to at least allow people to build 32-bit code with it, even though it can't properly build 64-bit code. by DRC · 12 years ago
- d5e964c Wordsmithing; Remove mention of TurboJPEG/IPP-- it is no longer a relevant comparison, since the version of IPP on which TurboJPEG/IPP was based is now quite old, and TurboJPEG/IPP is no longer distributed or supported by The VirtualGL Project; Include information about mathematical incompatibilities with jpeg-8 by DRC · 12 years ago
- f37e4da Port RGB-to-Grayscale color transform from jpeg-8d by DRC · 12 years ago
- 8cbf893 Port the width/height force feature from jpegtran v8d. by DRC · 12 years ago
- f73a27c Add cjpeg -rgb option from jpeg-8d by DRC · 12 years ago
- 84f7122 1.2.90 (1.3 beta1) by DRC · 12 years ago
- d9d1d67 by DRC · 12 years ago
- fac3bea Add a Java version of TJBench and extend the TurboJPEG Java API to support it (this involved adding a polymorphic method in TJCompressor that accepts x and y offsets into a larger buffer, similar to the previous modification that had been done to TJDecompressor.) by DRC · 12 years ago
- 61e1341 If libturbojpeg.jnilib is not found on Mac systems, specifically look for it under /usr/lib, since /usr/lib isn't part of the default java.library.path on that platform. by DRC · 12 years ago
- a394bf7 Allow the libjpeg-turbo32 package to be used on MultiArch-compatible systems without overriding the linker path or LD_LIBRARY_PATH. by DRC · 12 years ago
- 0a0f8d1 Allow the libjpeg-turbo32 package to be used on MultiArch-compatible systems without overriding the linker path or LD_LIBRARY_PATH. by DRC · 12 years ago
- 2186809 Oops. Add support for TJFLAG_FASTDCT to tjDecompressToYUV() as well. by DRC · 12 years ago
- e0419b5 Oops. Add support for TJFLAG_FASTDCT to tjDecompressToYUV() as well. by DRC · 12 years ago
- 73d74c1 Add flags to the TurboJPEG API that allow the caller to force the use of either the fast or the accurate DCT/IDCT algorithms in the underlying codec. by DRC · 12 years ago
- fd3aba3 Added flags to the TurboJPEG API that allow the caller to force the use of either the fast or the accurate DCT/IDCT algorithms in the underlying codec. by DRC · 12 years ago
- 112a0bb More recent versions of autoconf add -traditional-cpp to the CPP flags, which causes jsimdcfg.inc.h to not preprocess correctly unless we expand all of the instances of the #definev macro. by DRC · 12 years ago
- ea505e7 More recent versions of autoconf add -traditional-cpp to the CPP flags, which causes jsimdcfg.inc.h to not preprocess correctly unless we expand all of the instances of the #definev macro. by DRC · 12 years ago
- 14e8225 Provide further details about the regression by DRC · 12 years ago
- de37e07 Provide further details about the regression by DRC · 12 years ago
- 575317b Acknowledge the existence of 1.2.1 by DRC · 12 years ago
- df0babc Fixed regression caused by a bug in the 32-bit strict memory access code in jdmrgss2.asm (contributed by Chromium to stop valgrind from whining whenever the output buffer size was not evenly divisible by 16 bytes.) On Linux/x86, this regression caused incorrect pixels on the right-hand side of images whose rows were not 16-byte aligned, whenever fancy upsampling was used. This patch also enables the strict memory access code on all platforms, not just Linux (it does no harm on other platforms) and removes a couple of pcmpeqb instructions that were rendered unnecessary by r836. by DRC · 12 years ago
- 8126d0c Fixed regression caused by a bug in the 32-bit strict memory access code in jdmrgss2.asm (contributed by Chromium to stop valgrind from whining whenever the output buffer size was not evenly divisible by 16 bytes.) On Linux/x86, this regression generated incorrect pixels on the right-hand side of images whose rows were not 16-byte aligned, whenever fancy upsampling was used. This patch also enables the strict memory access code on all platforms, not just Linux (it does no harm on other platforms) and removes a couple of pcmpeqb instructions that were rendered unnecessary by r835. by DRC · 12 years ago
- 316617f Accelerated 4:2:2 upsampling routine for ARM (improves performance ~20-30% when decompressing 4:2:2 JPEGs using fancy upsampling) by DRC · 12 years ago
- 66fe68b Eliminate the use of the MASKMOVDQU instruction, to speed up decompression performance by 10x on AMD Bobcat embedded processors (and ~5% on AMD desktop processors.) by DRC · 12 years ago
- 6979927 Eliminate the use of the MASKMOVDQU instruction, to speed up decompression performance by 10x on AMD Bobcat embedded processors (and ~5% on AMD desktop processors.) by DRC · 12 years ago
- f659f43 Add x, y parameters to TJDecompressor so that it can be used to decompress to an arbitrary position in the destination image (TurboVNC needs this.) by DRC · 12 years ago
- dd2b651 Guard against num_components being a ridiculous value due to a corrupt header by DRC · 12 years ago
- e93d94b Guard against num_components being a ridiculous value due to a corrupt header by DRC · 12 years ago
- 4f24016 Preserve all 128 bits of xmm6 and xmm7 by DRC · 12 years ago
- 4ef9c95 Preserve all 128 bits of xmm6 and xmm7 by DRC · 12 years ago
- fd40777 Add a dummy version number to the TurboJPEG dynamic library on Unix systems so Linux distro maintainers will not reject it out of hand. by DRC · 12 years ago
- cac1051 Fix the behavior of the alpha-enabled colorspace constants whenever libjpeg-turbo is built without SIMD support and merged upsampling is used. by DRC · 12 years ago
- ffe4fc1 Fix the behavior of the alpha-enabled colorspace constants whenever libjpeg-turbo is built without SIMD support and merged upsampling is used. by DRC · 12 years ago
- a9b646c Allow RGB JPEG files to be created/decoded when using the LJT colorspace extensions by DRC · 12 years ago
- 0586d41 Allow RGB JPEG files to be created/decoded when using the LJT colorspace extensions by DRC · 12 years ago
- c052646 iOS universal package was promoted to a 1.2 feature by DRC · 13 years ago
- ef49f79 by DRC · 13 years ago
- 20b734e Infrastructure for producing a universal x86-64/i386/ARM version of libjpeg.a and libturbojpeg.a on OS X, so that the same library can be used to build OS X and iOS apps by DRC · 13 years ago
- 1fbae84 Infrastructure for producing a universal x86-64/i386/ARM version of libjpeg.a and libturbojpeg.a on OS X, so that the same library can be used to build OS X and iOS apps by DRC · 13 years ago
- 3d40ad5 by DRC · 13 years ago
- 27fb3fc Support additional scaling factors when decompressing by DRC · 13 years ago
- 12781cb Properly decompress erroneous CMYK/YCCK images whose K component has an ID of 1 instead of 4 (this is to support SumatraPDF) by DRC · 13 years ago
- a7466c9 Move INLINE macro into config.h. That's really where it belongs anyhow, since it is used only internally, and putting it in jconfig.h was causing problems with DevIL. by DRC · 13 years ago
- 81a50f7 Grammar police by DRC · 13 years ago
- 2c62da3 Subtle point, but TurboJPEG is the API and TurboJPEG/OSS is the library implementing that API. by DRC · 13 years ago
- 67ce3b2 Added new alpha channel colorspace constants/pixel formats, so applications can specify that they need the unused byte in a 4-component RGB output buffer set to 0xFF when decompressing. by DRC · 13 years ago
- ab64b62 Add LIBJPEG_TURBO_VERSION macro for checking the libjpeg-turbo version at compile time by DRC · 13 years ago
- ebfe9e4 Fixed non-fatal out-of-bounds read in SSE2 SIMD code reported by valgrind when decompressing a JPEG image to a bitmap buffer whose size was not a multiple of 16 bytes. by DRC · 13 years ago
- c412184 Fixed non-fatal out-of-bounds read in SSE2 SIMD code reported by valgrind when decompressing a JPEG image to a bitmap buffer whose size was not a multiple of 16 bytes. by DRC · 13 years ago
- 795e6ad Fixed non-fatal out-of-bounds read in SSE2 SIMD code reported by valgrind when decompressing a JPEG image to a bitmap buffer whose size was not a multiple of 16 bytes. by DRC · 13 years ago
- 1ca924a NASM automatically adds the current directory to the include path, but YASM doesn't, so we need to explicitly add it. by DRC · 13 years ago
- 77fee43 by DRC · 13 years ago
- 7bc3fb5 by DRC · 13 years ago
- 7080ea3 by DRC · 13 years ago
- 3c21b08 by DRC · 13 years ago
- c08e8c1 When decompressing to a 4-byte RGB buffer, set the unused byte to 0xFF so it can be interpreted as an opaque alpha channel. by DRC · 13 years ago
- 36edad7 Back out CMYK-to-RGB conversions. There is really no way to properly do CMYK-to-RGB conversion without color management, which is out of scope for libjpeg-turbo. Applications wishing to do a trivial conversion, such as was implemented in these routines, can simply request CMYK output and do the trivial conversion themselves (or, even better, use an OSS color management library.) We should not encourage the use of in-library CMYK-to-RGB conversion as a substitute for color management. by DRC · 13 years ago
- e5c6eb5 by DRC · 13 years ago