ljpeg

Crates.ioljpeg
lib.rsljpeg
version0.1.1
sourcesrc
created_at2024-04-24 20:10:45.041619
updated_at2024-05-08 08:17:25.198949
descriptionFast, no dependency lossless JPEG decoder and encoder
homepage
repositoryhttps://git.sr.ht/~grego/ljpeg-rust
max_upload_size
id1219464
size117,610
(grego)

documentation

README

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.

There is probably some room for improvements for the encoder performance, although it is far from slow (and probably faster than lj92).

no_std support

Virtually everything 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. The (default) std feature flag only enables the implementation of std::error::Error on the error types.

Commit count: 0

cargo fmt