Skip to content

lovasoa/pff-extract

Repository files navigation

pff-extract

Pyramidal File Format (PFF) to jpeg converter. PFF is zoomify's single-file zoomable image format.

The pff file format is proprietary, and I reversed-engineered it using only a few sample files. This program is based on this reverse-engineering work, and thus might not work on every pff file. If it doesn't work for you, please open a bug.

Installation

We distribute linux and MacOS binaries on our release page. If you are on windows, you can use the linux (ubuntu) binaries with WSL.

Usage

pff-extract input.pff [output.jpg]

Compilation

gcc -o pff-extract pff-extract.c -lturbojpeg

Dependencies

  • libjpeg-turbo v2.0+ to decompress the tiles and to compress the resulting image. In ubuntu 20.04+, it can be installed with sudo apt install libturbojpeg0-dev. On fedora: sudo dnf install turbojpeg-devel.

Correctness

This program should handle all files safely, even malformed ones, and display a clear error message when it fails to process a file. Version 0.7 was fuzzed for multiple hours on 12 instances of AFL, without any crash. The program should be safe from memory errors. However, this is a free software that comes without any warranty of any kind. If you find an error, you can report it.