1. 5de454b libjpeg-turbo has never supported non-ANSI compilers, so get rid of the crufty SIZEOF() macro. It was not being used consistently anyhow, so it would not have been possible to build prior releases of libjpeg-turbo using the broken compilers for which that macro was designed. by DRC · 10 years ago
  2. bc56b75 Get rid of the HAVE_PROTOTYPES configuration option, as well as the related JMETHOD and JPP macros. libjpeg-turbo has never supported compilers that don't handle prototypes. Doing so requires ansi2knr, which isn't even supported in the IJG code anymore. by DRC · 10 years ago
  3. f57b8a6 Phrasing. Boom. by DRC · 10 years ago
  4. 230d09d Fix crashes and bogus output in the CMYK and decode-to-YUV features that occurred if JCS_EXTENSIONS wasn't defined. by DRC · 10 years ago
  5. 4186162 Fix warnings about unused variables when building with GCC 4.8.x by DRC · 10 years ago
  6. 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 · 11 years ago
  7. 15c0876 Fix additional uninitialized values reported by valgrind by DRC · 11 years ago
  8. 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 · 11 years ago
  9. 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 · 11 years ago
  10. 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 · 11 years ago
  11. 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 · 11 years ago
  12. 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 · 11 years ago
  13. 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
  14. 34dca05 Implement a YUV decode function in the TurboJPEG API, to be symmetric with tjEncodeYUV(). by DRC · 11 years ago
  15. 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
  16. 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
  17. 5aec4af Use C-style comments by DRC · 11 years ago
  18. 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
  19. 006bc58 Use C-style comments by DRC · 11 years ago
  20. 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
  21. 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
  22. 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
  23. 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
  24. 910a357 Extend the TurboJPEG C API to support compressing JPEG images from YUV planar images by DRC · 11 years ago
  25. eaa31f5 Oops by DRC · 11 years ago
  26. 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
  27. 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
  28. cd7c3e6 Add CMYK support to the TurboJPEG C API by DRC · 11 years ago
  29. 1f3635c Add 4:1:1 subsampling support in the TurboJPEG C API by DRC · 11 years ago
  30. 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
  31. 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
  32. bdfcb74 Actually, turbojpeg.c works with libjpeg as well by DRC · 12 years ago
  33. 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
  34. 2186809 Oops. Add support for TJFLAG_FASTDCT to tjDecompressToYUV() as well. by DRC · 12 years ago
  35. e0419b5 Oops. Add support for TJFLAG_FASTDCT to tjDecompressToYUV() as well. 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. 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
  38. ea3396a Fix memory leak in the colorspace emulation code by DRC · 12 years ago
  39. afc0692 Emulate colorspace extensions if they are not present in the libjpeg API. This allows the TurboJPEG wrapper to be used with libjpeg rather than libjpeg-turbo. Not useful within the context of our project, but other projects prefer to include the TurboJPEG wrapper in-tree, and this allows them to be linked against either libjpeg-turbo or libjpeg. by DRC · 13 years ago
  40. d4c15e1 Whitespace tweak by DRC · 13 years ago
  41. 8ad2492 Ensure that tjDecompress2() exits cleanly if setDecompDefaults() fails by DRC · 13 years ago
  42. 2eda821 Ensure that tjDecompress2() exits cleanly if setDecompDefaults() fails by DRC · 13 years ago
  43. ab2df6e Expose new scaling factors in TurboJPEG API by DRC · 13 years ago
  44. efe28ce Compiler warnings by DRC · 13 years ago
  45. 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
  46. f546711 Implement custom filter callback in Java by DRC · 13 years ago
  47. 7bf04d3 Implement a custom DCT filter callback for lossless transforms by DRC · 13 years ago
  48. f12bb30 Fix compile error when JCS_EXTENSIONS!=1 by DRC · 13 years ago
  49. 9b49f0e Re-work TJBUFSIZE() to take into account the level of chrominance subsampling by DRC · 13 years ago
  50. 418dbdf turbojpegl.c=turbojpeg.c by DRC · 13 years ago[Renamed from turbojpegl.c]
  51. 296c71b MinGW seems to barf unless jinclude.h is included before jpeglib.h by DRC · 13 years ago
  52. 6b76f75 Add new API functions, tjAlloc() and tjFree(), which allow memory to be allocated and freed using a method of the library's choosing. At the moment, the primary purpose for this is to avoid allocating/freeing memory across the DLL boundary on Windows. by DRC · 13 years ago
  53. ff78e37 Don't require buffer size to be preset if using TJFLAG_NOREALLOC by DRC · 13 years ago
  54. a29294a Use tjutil instead of rrutil by DRC · 13 years ago
  55. 007a42c Clean up error messages; Fix lossless transformation; General cleanup by DRC · 13 years ago
  56. 25b995a Clean up constants so that flags, pixel formats, etc. are clearly differentiated; Update documentation accordingly; Name the enums to make it easier to reference them in the docs and clean up the references accordingly; Set Doxygen option to force a detailed description for the constants to always be generated by DRC · 13 years ago
  57. 9b28def Completely refactored the TurboJPEG C API so that it uses pixel formats instead of the clunky pixel size + flags combination to define the pixel size and component order. tjCompress2() and tjTransform() can also now grow the JPEG buffer as needed, which can allow programs to save memory by not pre-allocating the "worst-case" buffer size calculated by TJBUFSIZE(). Converted API documentation to Doxygen. There is no legacy code remaining, so the refactored version of the library has been re-licensed under a BSD-style license. by DRC · 13 years ago
  58. d932e58 tjTransform() was not working properly if r.w=0 or r.h=0 by DRC · 14 years ago
  59. a3f68b4 Handle 4:4:0 (transposed 4:2:2 subsampling) by DRC · 14 years ago
  60. ba5ea51 Tile generation did not work with TJXFORM_HFLIP, because the underlying transform code was using an in-place algorithm, which modified the source coefficients after the first tile was generated. Thus, create a new option which allows TurboJPEG to turn off the in-place horizontal flip if there are multiple transforms being performed from the same set of coefficients. by DRC · 14 years ago
  61. 0a32519 Since lossless transforms have such a high fixed performance cost, implement a mechanism for performing more than one at a time on the same source image. by DRC · 14 years ago
  62. da5220a Fix Windows build; Add grayscale tests to Windows build; Add proper implementation of snprintf on Windows and use snprintf() in TurboJPEG library and tests instead of sprintf() by DRC · 14 years ago
  63. 43a29d2 Fix compiler warnings in Visual C++ by DRC · 14 years ago
  64. 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
  65. 7166bb7 Don't call jpeg_finish_compress() with YUV output, because it tries to insert an EOI marker right in the middle of our image data. by DRC · 14 years ago
  66. 6ee5459 Don't call jpeg_finish_compress() with YUV output, because it tries to insert an EOI marker right in the middle of our image data. by DRC · 14 years ago
  67. 890f1e0 Expose libjpeg lossless transform feature in TurboJPEG/OSS by DRC · 14 years ago
  68. 17ac372 Fix compiler warnings by DRC · 14 years ago
  69. 0769f50 Fix compiler warnings by DRC · 14 years ago
  70. 1b1e886 "tjScaledSize"="tjGetScaledSize" by DRC · 14 years ago
  71. 8424160 Replace the TJ_YUV flag with two new API functions by DRC · 14 years ago
  72. 0745c0f Correct memory allocation failure messages by DRC · 14 years ago
  73. eeab695 Replace the TJ_YUV flag with two new API functions, and add TJBUFSIZEYUV() from trunk by DRC · 14 years ago
  74. 582a46a Ensure that libjpeg state is reset if an error occurs by DRC · 14 years ago
  75. b28fc57 Make the scaling API a bit more friendly by DRC · 14 years ago
  76. f3cf973 Add TJBUFSIZEYUV() convenience function by DRC · 14 years ago
  77. 8ed7b81 Added scaling API to TurboJPEG/OSS by DRC · 14 years ago
  78. 91e86ba Ensure that YUV temp buffers get properly freed if a failure occurs by DRC · 14 years ago
  79. 2d94e26 The fast integer DCT degrades for qualities > 95, so use the slow integer DCT instead to ensure that perceptually lossless performance is maintained. by DRC · 14 years ago
  80. e1716b8 The fast integer DCT degrades for qualities > 95, so use the slow integer DCT instead to ensure that perceptually lossless performance is maintained. by DRC · 14 years ago
  81. 5742307 Eliminate all of the __memalign() mess and just handle the alignment ourselves by DRC · 14 years ago
  82. 2a2e451 Ensure temp. buffers for YUV output are 16-byte aligned on 32-bit Windows by DRC · 14 years ago
  83. 1fe80f8 Added extended tjDecompressHeader() function which can determine the type of subsampling used in the JPEG image by DRC · 14 years ago
  84. a6f4fca Fix various memory corruption issues in the new JPEG->YUV feature by DRC · 14 years ago
  85. f9cf5c7 If the output width/height are not an even number of MCU's, then use an intermediate buffer to ensure that the output format is XVideo-compatible by DRC · 14 years ago
  86. 9e17f7d Provide TJ_YUV option for tjDecompress() as well by DRC · 14 years ago
  87. fbb6747 Merge the TurboJPEG planar YUV encoding feature from VirtualGL 2.2 by DRC · 14 years ago
  88. 09854f5 Grayscale bitmap support in TurboJPEG/OSS by DRC · 14 years ago
  89. efa4ddc Space = Tab by DRC · 14 years ago
  90. 0489909 Bleepin' Windows uses LLP64, not LP64 by DRC · 15 years ago
  91. 0c6a271 Make TJ_FORCE* options work correctly by DRC · 15 years ago
  92. 61e51f9 Test fast upsampling "4:1:1 = 4:2:0" by DRC · 16 years ago
  93. 2e7b76b Include low-level unit tests borrowed from VirtualGL by DRC · 16 years ago