███ ███ ██ ██ ███ ███ █ ██
█ █ █ █ █ █ █ █ █ █ █ █
██ ███ ███ ███ ██ ██ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █
█ █ █ █ █ ██ █ ███ ███ ██
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 <dev_AT_frign.de>
Received on Tue Nov 10 2015 - 22:37:30 CET