Repository navigation
FAQ
Is it really lossless?
Yes, to the byte, not just the pixels. pja x gives back the very file
you compressed, metadata and all. pja a checks it before writing, and
pja x checks the size and a BLAKE3 hash before writing.
Can I open a .pja made on another computer?
Yes. The streams are the same bytes on Linux, macOS and Windows, 32 or 64
bits, with or without assembly, with any number of threads; CI compares
them on all six platforms.
What if a file is not a JPEG PJA understands?
It still goes through, with a model for raw bytes, and pja a tells you
why. A file that would not get smaller is stored as it is: a .pja is
never more than 52 bytes larger than its original.
What happens with a damaged .pja?
pja x refuses it and writes nothing. With --keep-corrupt it keeps what
it decoded as NAME.corrupt.
--fast or not?
Since 0.1.0 it changes nothing: the model pja a uses (stream version 7)
is faster than the old fast model and smaller than the old full one.
--fast is still accepted, so older scripts keep working, and pja x
reads what every version wrote.
How many threads does it use?
All processors, up to 8, unless you pass -th N. Several files run at
once; a big image is also split into bands. Before 0.0.8 the Linux and
macOS builds used one thread by default.
Does it read packJPG's .pjg files?
No. PJA is packJPG's successor, but with a codec and format of its own;
keep packJPG to extract old .pjg files. packJPG is also one of the
yardsticks PJA is measured against (Benchmarks).
Does it take JPEG 2000?
Yes, since 0.9.5: JP2, JPX, JPM, Motion JPEG 2000 and raw codestreams, and
HTJ2K since 0.9.6, each codestream rebuilt byte for byte (about 8% smaller,
scanned 1-bit pages about 70%). It is slower than JPEG. zpaq-std takes
them through pja2k; the 7-Zip plugin does not yet. See
What PJA handles.
Something went wrong. How do I report it?
pja report FILE -o report.txt writes a report without pixels or
metadata contents and prints a link that opens the issue filled in
(Reporting bugs).
Does it encrypt? No. Use a tool made for that.
macOS says the program cannot be opened.
The binaries are not signed: run xattr -d com.apple.quarantine pja once
(Installing).
On Windows, pja a *.jpg said "Unable to open file" before 0.0.7.
Windows shells do not expand wildcards for programs; since 0.0.7 pja
does it itself.