Commit Graph

23 Commits

Author SHA1 Message Date
DRC
de30fe9460 Change the copyright notices to make it clear that our modified files are not part of the IJG's software. 2012-12-31 02:42:18 +00:00
DRC
5bd7a89f6a Compiler warnings 2012-01-17 11:48:38 +00:00
DRC
bdc88147bb Re-factor and re-license under the libjpeg BSD-style license. Justification: the accelerated Huffman decoding optimizations in libjpeg-turbo were all developed by me as an independent developer. The structure of the inline Huffman decoding macros was originally borrowed from similar routines in the TurboJPEG/mediaLib codec, which is part of VirtualGL and TurboVNC. Thus, although the code for these macros was not copied verbatim, they were still thought to be a derivative work of TurboJPEG/mediaLib, and I assigned the copyright and license from TurboJPEG/mediaLib to them. I have re-written these routines from first principles by breaking down the libjpeg out-of-line routines. Although the new code bears algorithmic similarities to the TurboJPEG/mediaLib macros, it can now clearly be shown to be derived from the out-of-line routines and thus, in my opinion, it can no longer be considered a derivative of TurboJPEG/mediaLib. -- DRC 2011-04-18 06:52:07 +00:00
DRC
93598f71bb The previous attempt to handle unexpected markers in the data stream caused breakage in applications that attempted to set bytes_in_buffer to a larger value than the actual size of the JPEG image. The latter behavior was causing the fast decoder to be used for the last MCU in the image under certain circumstances, and this sometimes caused the EOI marker to be encountered by the fast decoder, which was treating it as an "unexpected" marker and throwing an error. Now, the fast decoder simply hands off the decoding of the block to the slow decoder if any marker is encountered. 2011-04-16 18:53:26 +00:00
DRC
efc012f0b5 Throw a warning if an unexpected marker is found in the middle of the JPEG data stream 2011-03-18 05:44:27 +00:00
DRC
38b8c2f0ef Further protect against invalid Huffman codes 2011-01-04 08:09:41 +00:00
DRC
65ee62c698 Improve readability and flexibility of compatibility macros 2010-10-09 19:57:51 +00:00
DRC
d0d0f09d40 Added optional emulation of the jpeg-7 or jpeg-8b API/ABI's 2010-10-08 08:05:44 +00:00
DRC
2f85b88bdf Handle erroneous Huffman codes 2010-07-30 17:15:52 +00:00
DRC
ac87162327 Use 64-bit holding buffer on Win64 for increased performance 2010-04-20 21:13:26 +00:00
DRC
fe706f6e28 I'm not sure why, but this was necessary in order to return the 32-bit performance to the 0.0.90 baseline 2010-03-20 22:38:53 +00:00
DRC
c6838b243e Fix data corruption issues when decompressing large JPEG images and/or using buffered I/O. Specifically, decode_mcu_fast() can potentially process more than 1 MCU, so make sure there is enough space in the buffer to accommodate this case. Otherwise, the buffer pointer goes negative, and bad mojo ensues. Also, the fast decoder's method of handling unread markers doesn't make libjpeg's restart handler happy, so disable fast decode when restarts are used. 2010-03-15 11:34:58 +00:00
DRC
5b3da6d4e3 Greatly improve performance of Huffman decoding 2009-09-28 00:33:02 +00:00
Thomas G. Lane
41f55c093a The Independent JPEG Group's JPEG software v6b 2014-09-07 20:00:00 +01:00
Thomas G. Lane
16c97143f3 The Independent JPEG Group's JPEG software v6a 2014-09-07 20:00:00 +01:00
Thomas G. Lane
0baf670330 The Independent JPEG Group's JPEG software v6 2014-09-07 20:00:00 +01:00
Thomas G. Lane
357eba2331 The Independent JPEG Group's JPEG software v5b 2014-09-07 20:00:00 +01:00
Thomas G. Lane
c5414ae082 The Independent JPEG Group's JPEG software v5 2014-09-07 20:00:00 +01:00
Thomas G. Lane
24b8211e9f The Independent JPEG Group's JPEG software v4a 2014-09-07 20:00:00 +01:00
Thomas G. Lane
f14f1a0dc3 The Independent JPEG Group's JPEG software v4 2014-09-07 20:00:00 +01:00
Thomas G. Lane
9821061877 The Independent JPEG Group's JPEG software v3 2014-09-07 20:00:00 +01:00
Thomas G. Lane
98f16a9b4d The Independent JPEG Group's JPEG software v2 2014-09-07 20:00:00 +01:00
Thomas G. Lane
7a9a82bf06 The Independent JPEG Group's JPEG software v1 2014-09-07 20:00:00 +01:00