1. aa36758 Silence warning in CMake 2.8.12 and later by DRC · 10 years ago
  2. 5eb1efa Silence warning in CMake 2.8.12 and later by DRC · 10 years ago
  3. 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
  4. 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
  5. 05d24e8 Fix Windows build by DRC · 10 years ago
  6. 42aeac3 Formatting tweaks by DRC · 10 years ago
  7. 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
  8. 15c0876 Fix additional uninitialized values reported by valgrind by DRC · 10 years ago
  9. 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
  10. 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
  11. f27f38b Add a blank line before the alpha-enabled colorspace tests in order to improve readability by DRC · 10 years ago
  12. 4798b7e Add a blank line before the alpha-enabled colorspace tests in order to improve readability by DRC · 10 years ago
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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 · 10 years ago
  20. 34dca05 Implement a YUV decode function in the TurboJPEG API, to be symmetric with tjEncodeYUV(). by DRC · 10 years ago
  21. 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 · 10 years ago
  22. 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 · 10 years ago
  23. 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 · 10 years ago
  24. ffa5e59 Fix autoconf warnings by DRC · 10 years ago
  25. 5aec4af Use C-style comments by DRC · 10 years ago
  26. 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 · 10 years ago
  27. 006bc58 Use C-style comments by DRC · 10 years ago
  28. 6f75a35 Oops by DRC · 10 years ago
  29. cccfdcb Older versions of automake don't support AM_PROG_AR, so only execute that macro if it exists. by DRC · 10 years ago
  30. c56cb47 Fix autoconf warnings by DRC · 10 years ago
  31. 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 · 10 years ago
  32. 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 · 10 years ago
  33. ad2f618 Update copyright year in file header as well by DRC · 10 years ago
  34. 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 · 10 years ago
  35. 68550a7 Update copyright notice to reflect recent SIMD contributions by DRC · 10 years ago
  36. 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 · 10 years ago
  37. 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 · 10 years ago
  38. d4ab63d Fix several potential overflow issues identified by the community. by DRC · 10 years ago
  39. 88dee58 Formatting tweak by DRC · 10 years ago
  40. e26c687 Fix several potential overflow issues identified by the community. by DRC · 10 years ago
  41. e189ec7 Remove trailing space by DRC · 10 years ago
  42. 9397469 Remove trailing space by DRC · 10 years ago
  43. 2d07ee5 Create a separate stub file for 64-bit ARM, since it currently implements only the decompression-related functions. by DRC · 10 years ago
  44. ba55b2c First pass at ARMv8 64-bit NEON SIMD support by DRC · 10 years ago
  45. 3e00f03 Formatting tweaks by DRC · 10 years ago
  46. edc846f Formatting tweaks by DRC · 10 years ago
  47. cc0733a Remove trailing spaces by DRC · 10 years ago
  48. 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 · 10 years ago
  49. 8d55c88 Include instructions for building iOS binaries using Xcode 4.6.x and Xcode 5.0. by DRC · 10 years ago
  50. a2f0644 Include instructions for building iOS binaries using Xcode 4.6.x and Xcode 5.0. by DRC · 10 years ago
  51. 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
  52. 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
  53. 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
  54. 43d8cf4 Fix CVE-2013-6629 and CVE-2013-6630 by DRC · 11 years ago
  55. 7ebf294 Fix CVE-2013-6629 and CVE-2013-6630 by DRC · 11 years ago
  56. 9f9436a Fix CVE-2013-6629 and CVE-2013-6630 by DRC · 11 years ago
  57. cb92dcc Make documentation viewable directly from http://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x by DRC · 11 years ago
  58. b10aafb Make documentation viewable directly from http://svn.code.sf.net/p/libjpeg-turbo/code/trunk by DRC · 11 years ago
  59. 62eeefc Make documentation viewable directly from http://svn.code.sf.net/p/libjpeg-turbo/code/trunk by DRC · 11 years ago
  60. 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
  61. 5829cb2 The Independent JPEG Group's JPEG software v8d by Guido Vollbeding · 13 years ago
  62. c39ec14 The Independent JPEG Group's JPEG software v8c by Guido Vollbeding · 14 years ago
  63. a4ecaac The Independent JPEG Group's JPEG software v8b by Guido Vollbeding · 14 years ago
  64. f18f81b The Independent JPEG Group's JPEG software v8a by Guido Vollbeding · 14 years ago
  65. 989630f The Independent JPEG Group's JPEG software v8 by Guido Vollbeding · 15 years ago
  66. 5996a25 The Independent JPEG Group's JPEG software v7 by Guido Vollbeding · 15 years ago
  67. 1e247ac The Independent JPEG Group's JPEG software v6b with arithmetic coding support by Guido Vollbeding · 26 years ago
  68. 5ead57a The Independent JPEG Group's JPEG software v6b by Thomas G. Lane · 26 years ago
  69. 489583f The Independent JPEG Group's JPEG software v6a by Thomas G. Lane · 28 years ago
  70. bc79e06 The Independent JPEG Group's JPEG software v6 by Thomas G. Lane · 29 years ago
  71. a8b67c4 The Independent JPEG Group's JPEG software v5b by Thomas G. Lane · 29 years ago
  72. 9ba2f5e The Independent JPEG Group's JPEG software v5a by Thomas G. Lane · 30 years ago
  73. 36a4ccc The Independent JPEG Group's JPEG software v5 by Thomas G. Lane · 30 years ago
  74. cc7150e The Independent JPEG Group's JPEG software v4a by Thomas G. Lane · 31 years ago
  75. 88aeed4 The Independent JPEG Group's JPEG software v4 by Thomas G. Lane · 32 years ago
  76. 4a6b730 The Independent JPEG Group's JPEG software v3 by Thomas G. Lane · 32 years ago
  77. bd543f0 The Independent JPEG Group's JPEG software v2 by Thomas G. Lane · 33 years ago
  78. 2cbeb8a The Independent JPEG Group's JPEG software v1 by Thomas G. Lane · 33 years ago
  79. 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
  80. 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
  81. 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
  82. 4ac8700 Remove unnecessary whitespace by DRC · 11 years ago
  83. 5aa6c9a Remove unnecessary whitespace by DRC · 11 years ago
  84. dbbef06 Remove unnecessary whitespace by DRC · 11 years ago
  85. 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
  86. 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
  87. 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
  88. 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
  89. 1e67274 Extend the TurboJPEG Java API to support compressing JPEG images from YUV planar images by DRC · 11 years ago
  90. faa868b Add 'tjunittest -yuv -alloc' test on Windows as well by DRC · 11 years ago
  91. 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
  92. 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
  93. 910a357 Extend the TurboJPEG C API to support compressing JPEG images from YUV planar images by DRC · 11 years ago
  94. eaa31f5 Oops by DRC · 11 years ago
  95. 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
  96. 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
  97. f57a22d Fix logic error from r1039 by DRC · 11 years ago
  98. 596b966 Fix logic error from r1037 by DRC · 11 years ago
  99. 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
  100. 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