Uses new Rust 2021
|0.1.4||Jun 16, 2022|
|0.1.3||May 29, 2022|
|0.1.2||May 23, 2022|
|0.1.1||May 19, 2022|
|0.1.0||May 9, 2022|
#79 in Images
63 downloads per month
An incredibly spicy jpeg decoder.
- A Pretty fast 8*8 integer IDCT.
- Fast Huffman Decoding
- Fast color convert functions.
- Support for extended colorspaces like GrayScale and RGBA
- Multi-threaded decoding.
Note that the
x86 features are automatically disabled on platforms that aren't x86 during compile
time hence there is no need to disable them explicitly if you are targeting such a platform.
The decoder heavily relies on platform specific intrinsics, namely AVX2 and SSE to gain speed-ups in decoding,
but in debug build rust generally doesn't like platform specific intrinsics (try passing
-O parameter to see optimized build) hence obviously speeds tank so bad during debug builds, and there is probably nothing
we can do about that.
The decoder is blazingly fast, especially on x86_64 with AVX2 enabled CPU's(most cpu's from 2013).
Even with CPU's that don't support these extensions, the code is carefully written to allow the auto-vectorizer to accelerate for whatever platforms in mind.
For more up-to-date benchmarks, see Benches.md.
Note, we do not try to recover corrupt JPEG's, your best bet is libjpeg-turbo for that, all errors are propagated up to the caller.
- Add support for Adobe APP14 images.
- Support more colorspace options. It would not be too bad if we support all color options libjpeg/mozjpeg supports.