Added support for up to 16-bit color depth (per channel, so up to 64 bit per pixel). I just commited it to github.
I didn't really test it much yet, I only tried it on one image, this one:
http://www.brucelindbloom.com/index.html?ReferenceImages.html
(DeltaE_16bit_gamma2.2.tif)
The uncompressed PPM file is 36,864 kilobytes (3072x2048 pixels at 6 bytes per pixel).
The PNG file ImageMagick's "convert" produces is 7,607,128 bytes. Brute-force PNG crushing brings that down to 6,409,406 bytes.
With Adam7 interlacing ("convert -interlace PNG") it is 9,142,487 bytes. Brute-force PNG crushing brings that down to 7,850,138 bytes.
The FLIF file is 4,490,024 bytes.
The FLIF file without interlacing ("flif -ni") is 4,177,291 bytes.
Oh and one other silly little change I made: you can now drop the "-d" when decoding a FLIF file. And I changed the ASCII art again, but you only see that if you use at least two -v. By default it is silent now, as long as everything is OK, which is how command line programs should behave .
I didn't really test it much yet, I only tried it on one image, this one:
http://www.brucelindbloom.com/index.html?ReferenceImages.html
(DeltaE_16bit_gamma2.2.tif)
The uncompressed PPM file is 36,864 kilobytes (3072x2048 pixels at 6 bytes per pixel).
The PNG file ImageMagick's "convert" produces is 7,607,128 bytes. Brute-force PNG crushing brings that down to 6,409,406 bytes.
With Adam7 interlacing ("convert -interlace PNG") it is 9,142,487 bytes. Brute-force PNG crushing brings that down to 7,850,138 bytes.
The FLIF file is 4,490,024 bytes.
The FLIF file without interlacing ("flif -ni") is 4,177,291 bytes.
Oh and one other silly little change I made: you can now drop the "-d" when decoding a FLIF file. And I changed the ASCII art again, but you only see that if you use at least two -v. By default it is silent now, as long as everything is OK, which is how command line programs should behave .