███ ███ ██ ██ ███ ███ █ ██ █ █ █ █ █ █ █ █ █ █ █ █ ██ ███ ███ ███ ██ ██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ██ █ ███ ███ ██
Hello fellow hackers, I'm very glad to announce farbfeld to the public, a lossless image format as a successor to "imagefile" with a better name and some format-changes reflecting experiences I made since imagefile has been released. You may have already seen my talk at slcon2 about the topic[0]. I carried on the idea of ditching the CIELAB-approach and rather renaming imagefile to farbfeld, changing the following format- parameters: 1) the magic value is now "farbfeld" 2) each channel is stored with 16 Bits, resulting in 64 Bits per Pixel Other factors that were discussed but dropped were: 3) wether the width and height should be increased to 64 Bits. This was dropped, as we can't even "handle" file offsets of that size in Unix systems. The largest image in existence is still 7 orders of magnitude smaller than the largest image possibly expressed in (2^32-1)x(2^32-1) pixels. 4) 64 Bits per channel, which proved to be too excessive. 16 Bits per channel actually puts farbfeld on a level allowing it to be used in scientific analysis and other fields. The final format is thus +--------+-----------------------------------------------------------+ | Bytes | Description | +--------+-----------------------------------------------------------+ | 8 | "farbfeld" magic value | +--------+-----------------------------------------------------------+ | 4 | 32-Bit BE unsigned integer (width) | +--------+-----------------------------------------------------------+ | 4 | 32-Bit BE unsigned integer (height) | +--------+-----------------------------------------------------------+ | [2222] | 4*16-Bit BE unsigned integers [RGBA] / pixel, row-aligned | +--------+-----------------------------------------------------------+ You can find the code at || http://git.2f30.org/farbfeld/ ||| In particular, the new format specification can be found under http://git.2f30.org/farbfeld/tree/FORMAT and a README introducing the idea under http://git.2f30.org/farbfeld/tree/README Check out the TODO for things to do. The current recommendation for compression is bzip2, but I'm open for suggestions. So please let me know when you know a format which is exceptionally good with farbfeld-compression. Also, thank you very much for the huge amount of useful input! With best regards FRIGN [0]: http://suckless.org/conference/ -- FRIGN <d...@frign.de>