~q3cpma/lossless-benchmark

A crude benchmark suite for lossless formats

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~q3cpma/lossless-benchmark
read/write
git@git.sr.ht:~q3cpma/lossless-benchmark

You can also use your local clone with git send-email.

        DESCRIPTION
        ===========

A simple benchmark suite for lossless multimedia purposes tracking the
compression ratio, encoding and decoding time of various codecs (in single
thread mode).

general.sh tests:
* zstd
* bzip2
* gzip
* xz
* lzip
* 7z (lzma)
* 7z (ppmd)
* zpaq
* paq8px

audio.sh additionally tests:
* flac (libflac)
* flac (ffmpeg)
* tta (ffmpeg)
* wavpack
* ape

image.sh additionally tests:
* PNG (optipng)
* JPEG2000 (openjpeg)
* Webp
* FLIF
* AVIF (libavif/libaom/dav1d)
* FFV1
* AVC (libx264)

paq8px is used as a ceiling for the compression ratio (someone could use cmix
too), you can disable it if you don't care about it since it takes quite long
time to use.
You should use uncompressed input data to get more accurate compression time
results. For example:

$ bin/image.sh data/image/Ryōko.ppm >results/image/Ryōko.csv


        DEPENDENCIES
        ============

In addition to a modern POSIX environment, the following is required:
* stat(1),        BSD users will have to change "stat -c%s" into "stat -c%z".
* mktemp(1),      available on GNU/Linux, *BSD, MacOS, Illumos, HP-UX and Tru64.
* readlink(1) -f, available on GNU/Linux and *BSD
for general.sh.

* imagemagick
for image.sh and

* ffmpeg
for audio.sh and image.sh (AVIF only).

Every tested codec has its own obvious dependencies, but the ones not installed
are simply skipped.