Lossless Image Coding Benchmarks
Lossless encoding and decoding benchmarks using the:
- 8-bit RGB(A) images from the QOI image set
- 8-bit RGB frames generated from the Netflix Meridian test reel
- YCbCr 10-bit frames from a recording of the US Congress in session (kindly provided by the Library of Congress)
Each plot is for a set of images with similar characteristics. The vertical axis is the average size in bytes of a coded image in the set. The horizontal axis is the average encode or decode time in seconds of an image in the set. The closer to the bottom left of each plot the faster and more coding efficient.
For each combination of source image and codec, the benchmark loads the image in memory and encodes/decodes it using the codec (download the raw data). The decoded image is checked against the source image to confirm they are bit-for-bit identical. Encode and decode times are averaged over three runs. Codecs are ran single-threaded.
Label | Description |
---|---|
qoi |
Quite OK Image Format |
jxl |
JPEG XL using libjxl in fast lossless encode mode
(Effort = 1 )
|
png |
Portable Network Graphics (PNG) using LodePNG |
j2k_ht_ojph |
JPEG 2000 Part 15 (High-Throughput JPEG 2000) using OpenJPH |
j2k_ht_kdu |
JPEG 2000 Part 15 (High-Throughput JPEG 2000) using Kakadu SDK (commercial library) |
j2k_1_kdu |
JPEG 2000 Part 1 using Kakadu SDK (commercial library) |
ffv1 |
FFV1 using libavcodec |
avif |
AVIF using libavif |
webp |
WebP using libwebp |
Encoding results

Decoding results

Encoding results

Decoding results
