summaryrefslogtreecommitdiff
path: root/SPECIFICATION
diff options
context:
space:
mode:
Diffstat (limited to 'SPECIFICATION')
-rw-r--r--SPECIFICATION56
1 files changed, 0 insertions, 56 deletions
diff --git a/SPECIFICATION b/SPECIFICATION
deleted file mode 100644
index 837fe0e..0000000
--- a/SPECIFICATION
+++ /dev/null
@@ -1,56 +0,0 @@
-The farbfeld-format is meant to be parsed easily
-and used to pipe images losslessly.
-
-# WHY FARBFELD?
-
-Most current image-formats have their compression
-incorporated in their format itself.
-This has some advantages, but reaches its limits
-with lossless formats (e.g. PNG).
-The basic idea of the farbfeld-format is to separate
-these to and having a completely transparent image-format.
-
-Pattern resolution is done while compressing, not while
-converting the image.
-For example, farbfeld always stores an alpha-channel,
-even if the image doesn't have alpha-variation.
-This may sound like a big waste, but as soon as you
-compress an image of this kind, the bzip2-algorithm
-takes care of the easy pattern, that each 4th character
-has the same value.
-This leads to almost no overhead while keeping parsing
-really simple.
-Same applies to the idea of having 64 bits per channel.
-It sounds excessive, but if you only have 8 bits of
-entropy, the compression will take care of it, while
-you only need to do the endian-handling for 64 bit
-chunks.
-
-# FORMAT:
-
-Bytes Description
-8 farbfeld
-4 32 bit BE Unsigned Integer (width)
-4 32 bit BE Unsigned Integer (height)
-[2222] RGBA-row-aligned-pixel-array
- 16 bit BE Unsigned Integers (per channel)
-
-# EXAMPLES:
-
-encoding:
-png2ff < example.png > example.ff
-png2ff < example.png | bzip2 > example.ff.bz2
-
-decoding:
-ff2png < example.ff > example.png
-bzcat example.ff.bz2 | ff2png > example.png
-
-# WHY BZ2?
-
-Using BZ2, you can get smaller filesizes than with PNG,
-especially with line-drawings.
-For normal pictures, the bz2-compression yields roughly
-the same sizes as png does.
-Always keep in mind that using PNG involves having to
-rely on libpng to decode the image for you, whereas
-farbfeld is a completely transparent format.