Repository navigation
PJA 0.7.0
Six new codecs in the zpaq-std plugin: the JPEG-LS and lossless JPEG decoders at half the size, and more than twice as fast in zpaq 7.15.
- The o codecs.
pjalso,pjalloandpjalsxo, and their z (pjalszo,pjallzo,pjalsxzo), arepjals,pjallandpjalsxwith the same streams, the same files and the same memory, and a ZPAQL decoder compiled with zpaqlc'sopt=2, which until now only the version 7 codecs had. Every zpaq-std block carries its decoder, so this pays off in small groups and in groups split for zpaq 7.15 to extract in parallel.
| codec | ZPAQL before | o |
|---|---|---|
| pjals / pjalso | 55,989 | 24,076 |
| pjall / pjallo | 30,508 | 15,058 |
| pjalsx / pjalsxo | 60,776 | 25,623 |
| pjalsz / pjalszo | 32,984 | 24,724 |
| pjallz / pjallzo | 18,003 | 15,693 |
| pjalsxz / pjalsxzo | 36,110 | 26,278 |
- Faster to extract without the plugin. libzpaq (zpaq 7.15's engine) on the same data: JPEG-LS 78.5 -> 36.2 s, lossless JPEG 2.8 -> 1.2 s, subsampled JPEG-LS 410.9 -> 178.6 s, every file back.
- Checked on Windows XP: the original zpaq 7.15 (32-bit, no plugin) extracts archives written with the o codecs byte for byte, and the x86 plugin round-trips every file with each of the six.
- Nothing else changes. zpaq-std's
-satakes the o codecs in place ofpjall,pjalsandpjalsxonce it ships this plugin; those stay to read older archives. The other fourteen codecs, their ZPAQL, the.pjaformat and the streams are 0.6.4's: the command writes the same bytes. The wiki's zpaq-std plugin page has the codec families and names.
Downloads
| platform | the pja command |
the zpaq-std plugin | libpja (C library, 7-Zip plugin) |
|---|---|---|---|
| Linux x86-64 | pja-0.7.0-linux-x86_64.tar.gz |
pja-0.7.0-zpaqstd-plugin-linux-x86_64.tar.gz |
pja-0.7.0-lib-linux-x86_64.tar.gz |
| Linux x86 (32-bit) | pja-0.7.0-linux-x86.tar.gz |
pja-0.7.0-zpaqstd-plugin-linux-x86.tar.gz |
pja-0.7.0-lib-linux-x86.tar.gz |
| Linux arm64 | pja-0.7.0-linux-arm64.tar.gz |
pja-0.7.0-zpaqstd-plugin-linux-arm64.tar.gz |
pja-0.7.0-lib-linux-arm64.tar.gz |
| macOS arm64 | pja-0.7.0-macos-arm64.tar.gz |
pja-0.7.0-zpaqstd-plugin-macos-arm64.tar.gz |
pja-0.7.0-lib-macos-arm64.tar.gz |
| Windows x64 (7 and later) | pja-0.7.0-windows-x64.zip |
pja-0.7.0-zpaqstd-plugin-windows-x64.zip |
pja-0.7.0-lib-windows-x64.zip |
| Windows x86 (XP and later) | pja-0.7.0-windows-x86.zip |
pja-0.7.0-zpaqstd-plugin-windows-x86.zip |
pja-0.7.0-lib-windows-x86.zip |
pja-0.7.0-zpaqstd.tar.gz holds the plugin's sources as zpaq-std vendors them, with VENDOR.md. CI builds and checks every binary on its own platform (.github/workflows/release.yml); libpja is checked with its C test and, on Linux x86-64, through a real 7-Zip. SHA256SUMS has the checksums. The Linux builds need glibc 2.34 or later. The macOS ones are not signed: run xattr -d com.apple.quarantine after unpacking.