1. 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 · 11 years ago
  2. 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 · 11 years ago
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 1e67274 Extend the TurboJPEG Java API to support compressing JPEG images from YUV planar images by DRC · 11 years ago
  11. aba7ced Oops. Forgot to implement access method for the colorspace & extend TJBench by DRC · 11 years ago
  12. b2c4745 Wordsmithing by DRC · 11 years ago
  13. 38cb1ec Add CMYK support to the TurboJPEG Java API & clean up a few things in the C API by DRC · 11 years ago
  14. a583062 Add 4:1:1 subsampling support in the TurboJPEG Java API by DRC · 11 years ago
  15. ae92418 Add note regarding the fact that 4:4:0 lacks full SIMD support; Add an option for benchmarking 4:4:0 subsampling in TJBench; Wordsmithing; Disable timestamp in generated HTML files to make diffing and merging easier by DRC · 11 years ago
  16. f82b9f9 Add note regarding the fact that 4:4:0 lacks full SIMD support; Add an option for benchmarking 4:4:0 subsampling in TJBench; Wordsmithing; Disable timestamp in generated HTML files to make diffing and merging easier by DRC · 11 years ago
  17. 418fe28 Fix incorrect data output and buffer overruns in the new tjDecompressToYUV2() function whenever scaling is used along with a 4:2:0 JPEG image; extend tjunittest and TJUnitTest to test for these issues. by DRC · 11 years ago
  18. b7c4193 Clean up the output of tjunittest and TJUnitTest by DRC · 11 years ago
  19. 49df783 Clean up the output of tjunittest and TJUnitTest by DRC · 11 years ago
  20. fef9852 Extend the TurboJPEG Java API to support generating YUV images with arbitrary padding and to support image scaling when decompressing to YUV by DRC · 12 years ago
  21. bb9e147 Fix backward compatibility between the Java classes and the 1.2.x JNI library (as long as the 1.3 Java features are not used.) by DRC · 12 years ago
  22. 1d29c5f Correct misuse of the word "pitch" + more code formatting tweaks by DRC · 12 years ago
  23. 67bee86 Code formatting tweaks by DRC · 12 years ago
  24. 65d4a46 Java doc tweaks by DRC · 12 years ago
  25. d7a642b Minor doc tweaks + ChangeLog update by DRC · 12 years ago
  26. 00400a0 In order to avoid a functional regression with previous releases, the JAR file needs to be able to load either the 64-bit or 32-bit JNI library on Un*x systems. by DRC · 12 years ago
  27. 441308c Move the TurboJPEG DLLs back into the system directory on Windows platforms. For Windows, it doesn't really simplify the build system to install these libraries in c:\libjpeg-turbo*, and it introduces potential problems with loading the JNI library. Specifically, if a user linked their Java app against the 64-bit libjpeg-turbo SDK and then used a 32-bit JVM at run time, they would not be able to load the 32-bit turbojpeg.dll without manipulating java.library.path or the PATH environment (and vice versa for building against the 32-bit libjpeg-turbo SDK and using a 64-bit JVM at run time.) by DRC · 12 years ago
  28. 4b357ab Older versions of automake don't support multiple _JAVA primaries, but we don't actually have to specify a "dist" primary, since the Java sources are already included under EXTRA_DIST. by DRC · 12 years ago
  29. 94f7ac9 Fix 'make dist' by DRC · 12 years ago
  30. 7175e51 Further enhancements/fixes to the packaging system: by DRC · 12 years ago
  31. 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 · 12 years ago
  32. 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
  33. 98ca1c3 ImageIO.read() returns null if the input image type is not supported (which occurs when trying to read a PPM file), so output a friendly error instead of letting the next line throw a null pointer exception. by DRC · 12 years ago
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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 · 13 years ago
  39. 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
  40. 80803ae "which"="that" by DRC · 13 years ago
  41. 6b968b2 Add TJCustomFilter to Windows build by DRC · 13 years ago
  42. f546711 Implement custom filter callback in Java by DRC · 13 years ago
  43. 835b76f Fix 'make docs' with out-of-tree builds by DRC · 13 years ago
  44. c6fa5ba Fix 'make headers' with out-of-tree builds by DRC · 13 years ago
  45. 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
  46. 724c56b Use random noise to ensure that the JPEG image generated in the buffer size test exceeds the size of the uncompressed source image. by DRC · 13 years ago
  47. 9b49f0e Re-work TJBUFSIZE() to take into account the level of chrominance subsampling by DRC · 13 years ago
  48. 215aa8b Re-factor checkBufYUV() function to more closely resemble re-factored checkBuf() function by DRC · 13 years ago
  49. f962fbb Refactor slightly to match new C code by DRC · 13 years ago
  50. db42506 Allow customization of Java compiler flags by DRC · 14 years ago
  51. 279bd34 Change build instructions and README to reflect the fact that the Java front-end classes are now part of the build and distribution by DRC · 14 years ago
  52. b0428a7 Fix compiler warning by DRC · 14 years ago
  53. 848f225 Oops. Constructor should actually do something. by DRC · 14 years ago
  54. 62c6f98 Distribute TJLoader.java.in by DRC · 14 years ago
  55. b2f9415 Slight refactor to put ScalingFactor into its own class (mainly because the $ in the class name was wreaking havoc on the build scripts, but also to add a few convenience methods to it) and to create a separate loader class so we can provide a .jar file with the MinGW distribution that loads the correct DLL by DRC · 14 years ago
  56. 86e51f2 Fix compiler warning with OpenJDK by DRC · 14 years ago
  57. 957d623 Include TurboJPEG/OSS Java wrapper JAR in Windows distribution packages by DRC · 14 years ago
  58. dffd53d Fix 'make dist' so that it includes only what we need from java/ (it was errantly including java/Makefile) by DRC · 14 years ago
  59. f2602ce Build and package TurboJPEG/OSS Java wrapper into JAR file by DRC · 14 years ago
  60. b6ed7d3 Use a different naming convention, to avoid conflict with jpegut by DRC · 14 years ago
  61. 4f8c295 Clean up compiler warnings by DRC · 14 years ago
  62. 1f014c3 Fix compression from/decompression to TYPE_INT_{RGB|BGR} BufferedImages on big endian platforms by DRC · 14 years ago
  63. 2c74e51 More Java API cleanup by DRC · 14 years ago
  64. 92549de Java code cleanup + Java docs by DRC · 14 years ago
  65. 7c99822 Add notes about performance by DRC · 14 years ago
  66. 16c7077 Add an option to display the output image by DRC · 14 years ago
  67. 1da67e1 If a scaled-down JPEG output image is requested, we must decompress and recompress the transformed image. by DRC · 14 years ago
  68. 6bd084a Oops. Forgot to add TJTransform class by DRC · 14 years ago
  69. 3133441 Add access methods for getting at the JPEG buffer by DRC · 14 years ago
  70. 7d4b001 If transforming and outputting a JPEG file, output the transformed file directly instead of decompressing/recompressing it by DRC · 14 years ago
  71. d0a8136 Handle 4:4:0 (transposed 4:2:2 subsampling) by DRC · 14 years ago
  72. e857301 Implement lossless cropping interface in Java by DRC · 14 years ago
  73. 2e2358e Print stack trace on error by DRC · 14 years ago
  74. ad05754 Methods of a final class are automatically final by DRC · 14 years ago
  75. 5528b55 Use new scaling API by DRC · 14 years ago
  76. f7f3ea4 Use consistent formatting conventions by DRC · 14 years ago
  77. 109a578 tjGetScaledSize() would never be able to accommodate scaling factors > 1, so replace it with a function that returns a list of fractional scaling factors that TurboJPEG supports. by DRC · 14 years ago
  78. 438affe by DRC · 14 years ago
  79. 4f1580c Implement YUV encode/decode methods at the Java level; Remove some of the arguments from the Java API and replace with get/set methods; General API cleanup; Fix BufferedImage grayscale tests in TJUnitTest by DRC · 14 years ago
  80. 0ad78a6 Add line feed by DRC · 14 years ago
  81. 026f7ce Numerous enhancements, including using the new BufferedImage support to read/write non-JPEG files by DRC · 14 years ago
  82. b605cac Check for invalid subsampling factor by DRC · 14 years ago
  83. 84a1bcc Support for compressing from/decompressing to a BufferedImage in the Java wrapper by DRC · 14 years ago
  84. 3bad53f More JNI cleanup + added unit test and fixed bugs uncovered by it by DRC · 14 years ago
  85. 36336fc Streamline Java wrapper by DRC · 14 years ago
  86. b28fc57 Make the scaling API a bit more friendly by DRC · 14 years ago
  87. e1303ef Expose TurboJPEG scaling features in Java wrapper by DRC · 14 years ago
  88. c5a4199 Restructure Java classes into their own package by DRC · 14 years ago
  89. 2413cb8 Use Java capitalization conventions by DRC · 14 years ago
  90. f2214c2 by DRC · 14 years ago
  91. ed6526f by DRC · 14 years ago
  92. 5ccb982 JNI interface changed for TJ class, since it only has static methods now by DRC · 14 years ago
  93. f8e0055 Add JNI wrapper for TurboJPEG/OSS by DRC · 14 years ago