All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Fix panic on jpeg without frames.
- Fix incorrect order of MCUs in non-interleaved streams
- DCT Progressive images with incomplete coefficient blocks are now rendered
- Fix a panic on invalid dimensions
- Reduce allocations and runtime of decoding
- Rework multi-threading to run a thread per component
- Fix decoding of some progressive images failing
- Several more performance improvements
- Add
PixelFormat::pixel_bytes
to determine the size of pixels - Cleanup and clarification of the 8x8 idct implementation
- Updated fuzzing harnesses and helpers
- Fix decoding returning too much image data
- Fix recognizing padding in marker segments
- Several decode performance improvements
- Remove use of deprecated
Error::description
- Fix two bugs causing panics introduced in 0.1.17.
- Minimum supported rust version changed to 1.34
- Fix clippy::into_iter_on_array warning
- Ignore extraneous bytes after SOS
- Support IDCT Scaling
- Minimum supported rust version changed to 1.28
- Allow zero length DHT segments
- Added support for WebAssembly and asm.js (thanks @CryZe!)
- Bugfix for images with APP14 segments longer than 12 bytes.
- Updated
rayon
to 1.0.
- Updated
rayon
to 0.8.
- Fixed an integer overflow in
derive_huffman_codes
. - Updated
rayon
to 0.7.
- Fixed an integer overflow.
- Updated
byteorder
to 1.0.
- Updated
rayon
to 0.6
- Added a generic integer upsampler, which brings support for some unusual subsampling schemes, e.g. 4:1:1 (thanks @iamrohit7!)
- Made rayon optional through the
rayon
cargo feature (thanks @jackpot51!)
- Updated rayon to version 0.5.
- Added
UnsupportedFeature::NonIntegerSubsamplingRatio
error - Fixed a bug which could cause certain images to fail decoding
- Fixed decoding of JPEGs which has a final RST marker in their entropy-coded data
- Avoid allocating coefficients when calling
read_info()
on progressive JPEGs
- Added support for 16-bit quantization tables (even though the JPEG spec explicitly states "An 8-bit DCT-based process shall not use a 16-bit precision quantization table", but since libjpeg allows it there is little choice...)
- Added support for decoding files with extraneous data (this violates the JPEG spec, but libjpeg allows it)
- Fixed panic when decoding files without SOF
- Fixed bug which caused files with certain APP marker segments to fail decoding
- Removed
euclid
andnum-rational
dependencies - Updated
rayon
to 0.4
- Replaced
num
withnum-rational
- Updated
byteorder
to 0.5
- Fixed a bug which was causing some progressive JPEGs to fail decoding
- Performance improvements
- Performance improvements
- Initial release