Skip to content

PJA 0.0.2

Choose a tag to compare

@YadeWira YadeWira released this 25 Oct 04:15
· 190 commits to main since this release

More of the JPEG family, every new case byte for byte:

  • the JPEGs inside a JPEG (EXIF thumbnails, the further images of an
    MPO, Ultra HDR gain maps) compressed as JPEGs: stream version 6.
    MPO -13%, a corpus of JPEGs of every kind -2.9%; no file larger.
  • 12-bit JPEG (extended, progressive, arithmetic).
  • lossless JPEG (SOF3), 2 to 16 bits, every predictor, point
    transforms, restarts: through JPEG-LS's samples model.
  • the height given by a DNL segment.
  • subsampled JPEG-LS (checked against the T.87 conformance image
    T8SSE0).
  • encoders that write a DRI and no restart marker.
  • anything else that starts like a JPEG goes through the raw bytes'
    model, and pja says why ("as bytes: ...").

The .pja (version 4) keeps the original's extension: photo.JPEG comes
back as photo.JPEG; an MPO with none comes back as .mpo. Version 3
.pja files are still read.

Against packJPG 5.0g on the files both take: 2.2% smaller on photos,
6.6% on a varied corpus, 14.3% on MPOs; PJA also takes 12-bit and
lossless JPEG, which packJPG does not.

The zpaq-std plugin is unchanged from 0.0.1: stream version 5 and the
same two ZPAQL decoders, which every new case above is refused by.

Downloads

file for
pja-0.0.2-linux-x86_64.tar.gz Linux x86-64
pja-0.0.2-windows-x64.zip Windows 64-bit
pja-0.0.2-windows-x86.zip Windows 32-bit (Windows 7 and later)

Each carries pja (or pja.exe), the README, the license, NOTICE and the command's manual (CLI.md). SHA256SUMS has the checksums. Checked before publishing: every sample of the repository back byte for byte on Linux, Windows 10 64-bit and 32-bit.