- 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
- 05d24e8 Fix Windows build by DRC · 10 years ago
- 42aeac3 Formatting tweaks by DRC · 10 years ago
- 7d9f758 For now, punt on trying to support fancy upsampling in tjDecodeYUV(). Fancy upsampling requires context rows and other refinements, which are difficult to implement correctly with the algorithm we're using. Longer-term, supporting fancy upsampling would probably require using the main buffer that libjpeg allocates. by DRC · 10 years ago
- 15c0876 Fix additional uninitialized values reported by valgrind by DRC · 10 years ago
- c901449 When tjDecodeYUV() is used with a "fresh" decompressor instance (one that hasn't been previously used to decompress a JPEG image), then it needs comps_in_scan, data_precision, and the quantization tables to be defined. This patch also extends TJUnitTest to check for this error. by DRC · 10 years ago
- 20e158d Silence valgrind false positives about uninitialized values. Even with this patch, valgrind still complains about uninitialized values when decompressing or decoding to a buffer with an alpha-enabled colorspace. Not sure why this happens, but it occurs in libjpeg-turbo 1.3 as well, and only when the x86/x86-64 SIMD code is being used. It is my belief that these remaining warnings are also false positives, because if the output buffer is memset to all 0's prior to invoking tjDecodeYUV()/tjDecompress(), no errors are reported. If any of the alpha channel bits were in fact not being initialized, then they would still be 0 after invoking tjDecodeYUV()/tjDecompress(), and TJUnitTest would report an error. by DRC · 10 years ago
- f27f38b Add a blank line before the alpha-enabled colorspace tests in order to improve readability by DRC · 10 years ago
- 4798b7e Add a blank line before the alpha-enabled colorspace tests in order to improve readability by DRC · 10 years ago
- 2bdc042 Go ahead and call jinit_master_decompress() rather than trying to reproduce its functionality. That function does a few things that we were missing, including allocating the range limit table used by the plain C color conversion code. by DRC · 10 years ago
- 4d82ddb Oops. We need to call start_pass() on the color converter in order to allocate the conversion tables used by the plain C code. by DRC · 10 years ago
- 84c25cb Oops. We need to call start_pass() on the color converter in order to allocate the conversion tables used by the plain C code. by DRC · 10 years ago
- 50cfc46 Oops. We need to call start_pass() on the color converter in order to allocate the conversion tables used by the plain C code. by DRC · 10 years ago
- ea657b2 Fix regression introduced in r1128 that caused SIMD detection to malfunction for ARM platforms (and probably ARM64 and MIPS as well.) by DRC · 10 years ago
- f9c2dd2 Fix regression introduced in r1122 that caused SIMD detection to malfunction for ARM platforms (and probably ARM64 and MIPS as well.) by DRC · 10 years ago
- 895fd6d Fix unitialized value reported by valgrind (the upsampling routine used by 4:4:0 and 4:1:1 reads the value of component_index.) by DRC · 11 years ago
- 34dca05 Implement a YUV decode function in the TurboJPEG API, to be symmetric with tjEncodeYUV(). by DRC · 11 years ago
- 2bdadb4 Remove benchmarks. They were originally intended as a way of measuring overhead for small compress/decompress operations, but using TJBench with a small image is a better way to accomplish that. by DRC · 11 years ago
- 54918b3 Remove unused code (the destination manager is not used during YUV encoding, there are no virtual arrays to realize, and jinit_c_prep_controller() is unnecessary because we are not using smoothing.) by DRC · 11 years ago
- e2ce3b5 Remove unused code (the destination manager is not used during YUV encoding, there are no virtual arrays to realize, and jinit_c_prep_controller() is unnecessary because we are not using smoothing.) by DRC · 11 years ago
- ffa5e59 Fix autoconf warnings by DRC · 11 years ago
- 5aec4af Use C-style comments by DRC · 11 years ago
- c7a3246 Remove unused code (the destination manager is not used during YUV encoding, there are no virtual arrays to realize, and jinit_c_prep_controller() is unnecessary because we are not using smoothing.) by DRC · 11 years ago
- 006bc58 Use C-style comments by DRC · 11 years ago
- 6f75a35 Oops by DRC · 11 years ago
- cccfdcb Older versions of automake don't support AM_PROG_AR, so only execute that macro if it exists. by DRC · 11 years ago
- c56cb47 Fix autoconf warnings by DRC · 11 years ago
- 693f4a5 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
- 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
- ad2f618 Update copyright year in file header as well 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
- 68550a7 Update copyright notice to reflect recent SIMD contributions by DRC · 11 years ago
- 2885cf5 Further examination of the code reveals that this change is unnecessary. The histogram stores a count of each color in the image, so it will always contain at least one non-zero element, and thus the total can never be zero. Since the histogram is generated from the image data and not read from the header, there is no chance that header corruption would affect it. by DRC · 11 years ago
- d9712ed Further examination of the code reveals that this change is unnecessary. The histogram stores a count of each color in the image, so it will always contain at least one non-zero element, and thus the total can never be zero. Since the histogram is generated from the image data and not read from the header, there is no chance that header corruption would affect it. by DRC · 11 years ago
- d4ab63d Fix several potential overflow issues identified by the community. by DRC · 11 years ago
- 88dee58 Formatting tweak by DRC · 11 years ago
- e26c687 Fix several potential overflow issues identified by the community. by DRC · 11 years ago
- e189ec7 Remove trailing space by DRC · 11 years ago
- 9397469 Remove trailing space by DRC · 11 years ago
- 2d07ee5 Create a separate stub file for 64-bit ARM, since it currently implements only the decompression-related functions. by DRC · 11 years ago
- ba55b2c First pass at ARMv8 64-bit NEON SIMD support by DRC · 11 years ago
- 3e00f03 Formatting tweaks by DRC · 11 years ago
- edc846f Formatting tweaks by DRC · 11 years ago
- cc0733a Remove trailing spaces 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
- 8d55c88 Include instructions for building iOS binaries using Xcode 4.6.x and Xcode 5.0. by DRC · 11 years ago
- a2f0644 Include instructions for building iOS binaries using Xcode 4.6.x and Xcode 5.0. by DRC · 11 years ago
- 7db5273 Per the conventions of the image compression and digital video communities, use "YCbCr" to describe the JPEG colorspace and "YUV" to describe an image format consisting of Y, Cb, and Cr planes (this partially reverts r960.) by DRC · 11 years ago
- b3a028e Per the conventions of the image compression and digital video communities, use "YCbCr" to describe the JPEG colorspace and "YUV" to describe an image format consisting of Y, Cb, and Cr planes (this partially reverts r959.) by DRC · 11 years ago
- 5a7e9e5 Per the conventions of the image compression and digital video communities, use "YCbCr" to describe the JPEG colorspace and "YUV" to describe an image format consisting of Y, Cb, and Cr planes (this partially reverts r959.) by DRC · 11 years ago
- 43d8cf4 Fix CVE-2013-6629 and CVE-2013-6630 by DRC · 11 years ago
- 7ebf294 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
- cb92dcc Make documentation viewable directly from http://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x by DRC · 11 years ago
- b10aafb Make documentation viewable directly from http://svn.code.sf.net/p/libjpeg-turbo/code/trunk by DRC · 11 years ago
- 62eeefc Make documentation viewable directly from http://svn.code.sf.net/p/libjpeg-turbo/code/trunk by DRC · 11 years ago
- e163653 Back-port code from jpeg-8 that removes unpopulated (and unneeded) tables for AC and DC coefficients when generating progressive JPEG files with arithmetic coding. This should make such files bitwise compatible with jpeg-8, barring any other mathematical differences (such as the different subsampling algorithm used in jpeg-8.) Add regression tests for progressive+arithmetic JPEG files. by DRC · 11 years ago
- 5829cb2 The Independent JPEG Group's JPEG software v8d by Guido Vollbeding · 13 years ago
- c39ec14 The Independent JPEG Group's JPEG software v8c by Guido Vollbeding · 14 years ago
- a4ecaac The Independent JPEG Group's JPEG software v8b by Guido Vollbeding · 14 years ago
- f18f81b The Independent JPEG Group's JPEG software v8a by Guido Vollbeding · 15 years ago
- 989630f The Independent JPEG Group's JPEG software v8 by Guido Vollbeding · 15 years ago
- 5996a25 The Independent JPEG Group's JPEG software v7 by Guido Vollbeding · 15 years ago
- 1e247ac The Independent JPEG Group's JPEG software v6b with arithmetic coding support by Guido Vollbeding · 26 years ago
- 5ead57a The Independent JPEG Group's JPEG software v6b by Thomas G. Lane · 26 years ago
- 489583f The Independent JPEG Group's JPEG software v6a by Thomas G. Lane · 29 years ago
- bc79e06 The Independent JPEG Group's JPEG software v6 by Thomas G. Lane · 29 years ago
- a8b67c4 The Independent JPEG Group's JPEG software v5b by Thomas G. Lane · 29 years ago
- 9ba2f5e The Independent JPEG Group's JPEG software v5a by Thomas G. Lane · 30 years ago
- 36a4ccc The Independent JPEG Group's JPEG software v5 by Thomas G. Lane · 30 years ago
- cc7150e The Independent JPEG Group's JPEG software v4a by Thomas G. Lane · 32 years ago
- 88aeed4 The Independent JPEG Group's JPEG software v4 by Thomas G. Lane · 32 years ago
- 4a6b730 The Independent JPEG Group's JPEG software v3 by Thomas G. Lane · 32 years ago
- bd543f0 The Independent JPEG Group's JPEG software v2 by Thomas G. Lane · 33 years ago
- 2cbeb8a The Independent JPEG Group's JPEG software v1 by Thomas G. Lane · 33 years ago
- c44750e 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
- 4b50928 Back-port code from jpeg-8 that removes unpopulated (and unneeded) tables for AC and DC coefficients when generating progressive JPEG files with arithmetic coding. This should make such files bitwise compatible with jpeg-8, barring any other mathematical differences listed in README-turbo.txt. Add regression tests for progressive+arithmetic JPEG files. by DRC · 11 years ago
- 5430aa1 Back-port code from jpeg-8 that removes unpopulated (and unneeded) tables for AC and DC coefficients when generating progressive JPEG files with arithmetic coding. This should make such files bitwise compatible with jpeg-8, barring any other mathematical differences listed in README-turbo.txt. Add regression tests for progressive+arithmetic JPEG files. by DRC · 11 years ago
- 4ac8700 Remove unnecessary whitespace by DRC · 11 years ago
- 5aa6c9a Remove unnecessary whitespace by DRC · 11 years ago
- dbbef06 Remove unnecessary whitespace by DRC · 11 years ago
- 2e8ff4b Add the ability to test scaling when decompressing to YUV; compression from YUV to JPEG; and YUV padding. Replace clunky -411 and -440 parameters with a -subsamp parameter that allows any of the subsampling options to be tested in isolation. by DRC · 11 years ago
- c6501f7 Add the ability to test scaling when decompressing to YUV; compression from YUV to JPEG; and YUV padding. Replace clunky -411 and -440 parameters with a -subsamp parameter that allows any of the subsampling options to be tested in isolation. by DRC · 11 years ago
- 19eeaa7 Make environment variable syntax consistent between ARM and x86 code, and add an option to disable SIMD on x86 (this option will be added to the x86-64 code as well, but it makes more sense to add it when we add AVX support.) by DRC · 11 years ago
- 07e982d Deprecate and undocument the FORCE{MMX|SSE|SSE2|SSE3} flags. These were originally introduced in TurboJPEG/IPP as a way to override the automatic CPU selection in the underlying IPP codec, which was closed source. They are not meaningful anymore, since libjpeg-turbo provides environment variables to accomplish the same thing and since it no longer necessarily uses x86 SIMD code behind the scenes. by DRC · 11 years ago
- 1e67274 Extend the TurboJPEG Java API to support compressing JPEG images from YUV planar images by DRC · 11 years ago
- faa868b Add 'tjunittest -yuv -alloc' test on Windows as well by DRC · 11 years ago
- b51ee89 r1065 broke the build on Windows, because getinstance() defines a variable. Thus, it needs to occur before the array initialization code. by DRC · 11 years ago
- fe73965 Clean up formatting code and rename the JPEG files generated during the YUV decode tests to reflect the fact that they are being generated from YUV source images. 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
- eaa31f5 Oops by DRC · 11 years ago
- e2f8e69 Fix a really subtle issue whereby an invalid free() could occur if a program called tjInitDecompress() and then accidentally passed the handle to tjEncodeYUV3(), or if a program called tjInitCompress() and then accidentally passed the handle to tjDecompressToYUV2(). by DRC · 11 years ago
- 6cef2b1 Fix a really subtle issue whereby an invalid free() could occur if a program called tjInitDecompress() and then accidentally passed the handle to tjEncodeYUV2(), or if a program called tjInitCompress() and then accidentally passed the handle to tjDecompressToYUV(). by DRC · 11 years ago
- f57a22d Fix logic error from r1039 by DRC · 11 years ago
- 596b966 Fix logic error from r1037 by DRC · 11 years ago
- c45653e Fix a couple of issues with return value checking. JFREAD(), which wraps fread(), will never return -1. fread() will instead return 0 or a short object count if an error occurs, and ferror() will return 1 in that case. The second issue was that we were assigning the return value of ftell() to an unsigned long prior to checking the value, so the value would never be < 0 if an error occurred. It would instead be (unsigned long)-1. by DRC · 11 years ago
- 490c7f9 Fix a couple of issues with return value checking. JFREAD(), which wraps fread(), will never return -1. fread() will instead return 0 or a short object count if an error occurs, and ferror() will return 1 in that case. The second issue was that we were assigning the return value of ftell() to an unsigned long prior to checking the value, so the value would never be < 0 if an error occurred. It would instead be (unsigned long)-1. by DRC · 11 years ago
- fff6c23 SIMD-accelerated integer convsamp routine for MIPS DSPr2 by DRC · 11 years ago
- 3d72728 SIMD-accelerated floating point quantize and convsamp routines for MIPS DSPr2 by DRC · 11 years ago