jpeg-decoder
JPEG decoder
0.3.2
85M downloads/mo
#894 most downloaded on crates.io
image-rs/jpeg-decoder
What this package is like to depend on
Last release 1 years ago
21 Jun 2025
Release timing varies
gaps range from 5 weeks to 1.4 years
Nearly every release is documented
notes for 33 of 33 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
33 releases · first in 2016
0 releases in the last 12 months
see the full history below
Release timeline
33 releases · Feb 2016 to Jun 2025Releases
latest 33-
0.3.221 Jun 2025Release notes
Open source →- Depend on wasm-bindgen 0.2.89 or higher
- Fix panic when prediction calculation is invalid
-
0.3.113 Jan 2024Release notes
Open source →- Added a WASM SIMD implementation.
- Allow reading the XMP packet.
- Admit more precision values in JPEG Lossless.
-
0.3.017 Oct 2022Release notes
Open source →- The MSRV policy is now managed by the
rust-versionfield inCargo.toml. - The color transform can now be overridden as well as hinted with
Decoder::set_color_transform.
sha256sum:
bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e target/package/jpeg-decoder-0.3.0.crateRelease notes
Open source →- The MSRV policy is now managed by the
rust-versionfield inCargo.toml. - The color transform can now be overridden as well as hinted with
Decoder::set_color_transform.
- The MSRV policy is now managed by the
-
0.2.608 May 2022Release notes
Open source →- Another fix to allow usage in WASM target.
- Decoding in the WASM target is now actively tested in CI.
9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b target/package/jpeg-decoder-0.2.6.crate
Release notes
Open source →- Another fix to allow usage in WASM target.
- Decoding in the WASM target is now actively tested in CI.
-
0.2.502 May 2022 -
0.2.401 Apr 2022Release notes
Open source →- Corrects minimal version requirements of dependency
rayon.
744c24117572563a98a7e9168a5ac1ee4a1ca7f702211258797bbe0ed0346c3c target/package/jpeg-decoder-0.2.4.crate
- Corrects minimal version requirements of dependency
-
0.2.327 Mar 2022Release notes
Open source →- Added
Decoder::set_max_decoding_buffer_sizewhich limits the bytes
allocated for the output of the decoding process. - Added Arm64-Neon intrinsic implementation of idct and color conversion. This
depends on a Rust nightly compiler feature (aarch64_target_feature) and
it must be explicitly enabled. As soon as the minimum supported Rust version
includes the stabilization of this feature, the code will be enabled by
default and the feature changed to do nothing.
a55ad40a2d27923f63b6fbde5934926176c69ac5e23da6ac05ebfaca984e163f target/package/jpeg-decoder-0.2.3.crate
Release notes
Open source →- Added
Decoder::set_max_decoding_buffer_sizewhich limits the bytes allocated for the output of the decoding process. - Added Arm64-Neon intrinsic implementation of idct and color conversion. This
depends on a Rust nightly compiler feature (
aarch64_target_feature) and it must be explicitly enabled. As soon as the minimum supported Rust version includes the stabilization of this feature, the code will be enabled by default and the feature changed to do nothing.
- Added
-
0.2.212 Feb 2022Release notes
Open source →- Added and SSE3-specific SIMD intrinsic implementation for idct and color
conversion. It will run if applicable targets are detect at runtime. - The SIMD implementation is not bit-for-bit compatible with non-SIMD output.
You can enable theplatform_independentfeature, to ensure that only
bit-for-bit equivalent code runs and output is the same on all platforms. - Improved performance some more by avoiding bounds checks with array types.
- Multithreading is now used more frequently, without the rayon target, except
on an explicit list of unsupported platforms.
105fb082d64e2100074587f59a74231f771750c664af903f1f9f76c9dedfc6f1 target/package/jpeg-decoder-0.2.2.crate
Release notes
Open source →- Added and SSE3-specific SIMD intrinsic implementation for idct and color conversion. It will run if applicable targets are detect at runtime.
- The SIMD implementation is not bit-for-bit compatible with non-SIMD output.
You can enable the
platform_independentfeature, to ensure that only bit-for-bit equivalent code runs and output is the same on all platforms. - Improved performance some more by avoiding bounds checks with array types.
- Multithreading is now used more frequently, without the rayon target, except on an explicit list of unsupported platforms.
- Added and SSE3-specific SIMD intrinsic implementation for idct and color
-
0.2.109 Dec 2021Release notes
Open source →- Fix decoding error due to conflict of lossless with some spectral selections.
Release notes
Open source →- Fix decoding error due to conflict of lossless with some spectral selections.
-
0.2.005 Dec 2021Release notes
Open source →- Added Lossless JPEG support
- Added support for EXIF and ICC data
- Minimum supported rust version changed to 1.48 and no formal policy for bump releases for now
- Minor stability fixes on invalid jpeg images
Release notes
Open source →- Added Lossless JPEG support
- Added support for EXIF and ICC data
- Minimum supported rust version changed to 1.48 and no formal policy for bump releases for now
- Minor stability fixes on invalid jpeg images
-
0.1.2229 Jan 2021Release notes
Open source →- Fix panic on jpeg without frames.
sha256sum:
229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2 target/package/jpeg-decoder-0.1.22.crate -
0.1.2124 Jan 2021Release notes
Open source →- 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
-
0.1.2004 Jul 2020Release notes
Open source →- Fix decoding of some progressive images failing
- Several more performance improvements
- Add
PixelFormat::pixel_bytesto determine the size of pixels - Cleanup and clarification of the 8x8 idct implementation
- Updated fuzzing harnesses and helpers
-
0.1.1927 Apr 2020Release notes
Open source →- Fix decoding returning too much image data
- Fix recognizing padding in marker segments
- Several decode performance improvements
- Remove use of deprecated
Error::description
-
0.1.1810 Dec 2019 -
0.1.1708 Dec 2019Release notes
Open source →- Minimum supported rust version changed to 1.34
- Fix clippy::into_iter_on_array warning
- Ignore extraneous bytes after SOS
- Support IDCT Scaling
-
0.1.1625 Aug 2019Release notes
Open source →- Minimum supported rust version changed to 1.28
- Allow zero length DHT segments
-
0.1.1510 Jun 2018Release notes
Open source →- Added support for WebAssembly and asm.js (thanks @CryZe!)
- Bugfix for images with APP14 segments longer than 12 bytes.
-
0.1.1415 Feb 2018 -
0.1.1314 Jun 2017 -
0.1.1207 Apr 2017Release notes
Open source →- Fixed an integer overflow in
derive_huffman_codes. - Updated
rayonto 0.7.
- Fixed an integer overflow in
-
0.1.1109 Jan 2017 -
0.1.1023 Dec 2016 -
0.1.912 Dec 2016Release notes
Open source →- 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
rayoncargo feature (thanks @jackpot51!)
-
0.1.805 Nov 2016 -
0.1.704 Oct 2016Release notes
Open source →- Added
UnsupportedFeature::NonIntegerSubsamplingRatioerror - 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
-
0.1.612 Jul 2016Release notes
Open source →- 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
-
0.1.522 Jun 2016 -
0.1.420 Apr 2016 -
0.1.306 Apr 2016 -
0.1.208 Mar 2016Release notes
Open source →- Fixed a bug which was causing some progressive JPEGs to fail decoding
- Performance improvements
-
0.1.128 Feb 2016 -
0.1.013 Feb 2016