Crates.io | ljpeg |
lib.rs | ljpeg |
version | |
source | src |
created_at | 2024-04-24 20:10:45.041619 |
updated_at | 2024-12-02 13:56:49.288106 |
description | Fast, no dependency lossless JPEG decoder and encoder |
homepage | |
repository | https://git.sr.ht/~grego/ljpeg-rust |
max_upload_size | |
id | 1219464 |
Cargo.toml error: | TOML parse error at line 22, column 1 | 22 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Fast, no dependency decoder and encoder of the original lossless JPEG format. A lot of the code is used from dnglab, with modifications for use as a standalone library and some improvements.
Based on the limited testing on the author's machine, the decoder is about 2.5x faster than lj92.c, which is faster than Adobe DNG SDK. This difference is not very important for decoding a single frame, but for real time video playback, it is crucial. It's worth noting that no vectorization or multithreading is used, since the decoding algorithm is very sequencial.
no_std
supportEverything in this crate is no_std
. The alloc
crate is required for the encoder
and for the decoder to store the Huffman table, but this could potentially be worked around.