Skip to content

Backends

YadeWira edited this page Jun 13, 2026 · 1 revision

Backends

Each output .ppg carries a 4-byte magic naming its backend (v2 scheme — every magic spells out its job). The decoder picks the path by magic, not extension.

Magic Name Flag What it does
TCIP Tovy Compresor de Imágenes PNG (default) preflate + WebP-lossless — best ratio, fast decode
TVCP Tovy Veloz Compresor PNG -fast kanzi BWT + zstd — fastest, weaker ratio
TMCP Tovy Máximo Compresor PNG -preflate-max preflate + kanzi-TPAQX — max ratio, slow (archival)
TPCL Tovy Pre-Compresor Legacy -tpcl preflate + multi-threaded LZMA2 (precomp-style)
TCIJ Tovy Compresor de Imágenes JNG (auto for JNG) zstd wrapper + packJPG on the JPEG stream
TCIM Tovy Compresor de Imágenes MNG (auto for MNG) preflate container; Level B parallelizes big MNGs

(TNCP, a context-mixing experiment, needs a make tncp build.)

The 3 axes (real 17-PNG corpus, byte-exact)

backend ratio encode decode
TCIP (default) 45.7 % 2.38 s 0.72 s
TMCP 47.6 % 11.8 s 11.5 s
TPCL 64.3 % 1.68 s 0.58 s
TVCP 85.6 % 0.39 s 0.04 s

(ratio = compressed / original; lower is better. packPNG -th0 batch times.)

Which to use

  • Default (TCIP) — best size with fast reads. The right choice ~always.
  • -fast (TVCP) — huge batches where throughput beats size.
  • -preflate-max (TMCP) — cold archival, every byte counts, reads rare.
  • -tpcl — precomp-style general LZMA path (beats precomp; see Benchmarks).

JNG and MNG are detected automatically — no flag needed.

Clone this wiki locally