commit 4ae5014704ce831050dc2b8e960a0f388560d56c
parent d9f81612a280e4ada6a74129ac29d256ee2d1d2a
Author: Mattias Andrée <maandree@kth.se>
Date: Mon, 3 Jul 2017 21:31:07 +0200
Update blind's page
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat:
1 file changed, 69 insertions(+), 44 deletions(-)
diff --git a/tools.suckless.org/blind/index.md b/tools.suckless.org/blind/index.md
@@ -16,25 +16,18 @@ video format). This head is followed by the video
frame-by-frame with row-major frames. Pixels are
independently encoded, and are encoded unscaled CIE XYZ
with non-premultiplied alpha and without any
-transfer-function, with values stored in native `double`s.
-This colour model and space is the only option at the
-moment, but the container format is designed so this can
-be changed in the future.
-
-Unscaled CIE XYZ was choosen because it gives good
-performance for most operations. Most videos use Y'UV;
-this format has good performance for converting to sRGB
-and is has good subsampling quality, but it is not a
-good for editing. `double`s are used instead of `float`s
-because has higher precision: 52 instead of 23
-fraction-bits. However, `float`s have
-[much better](http://www.tomshardware.com/reviews/geforce-gtx-titan-gk110-review,3438-3.html)
-performance than `double`, so support for in may be
-added in the future.
+transfer-function, with values stored in native `double`s
+or optionally in native `float`s. These two configurations
+are the only optiosn, but but the container format is
+designed so this can be changed arbitrarily in the future.
FAQ
---
+### Creating videos without graphics, are you insane?
+
+Yes, but see the rationale below!
+
### Doesn't raw video takes up a lot of space?
Yes it does, a 4-channel pixel encoded with `double`
@@ -51,13 +44,6 @@ possible, feed the resulting video directly to
lossless video format, if the video is not too large, you
can choose to compress it with bzip2 instead.
-### Does it support farbfeld?
-
-Of course. If you want to use farbfeld, you can use
-the `-f` flag for `blind-to-image` and `blind-from-image`,
-this will cause the programs to convert directly to
-or from farbfeld without using `convert(1)`.
-
### For what kind of video editing is blind designed?
It is designed for composing new videos. It is not
@@ -65,23 +51,45 @@ designed for making small changes as this can probably
be done faster with a graphical video editor or with
ffmpeg which would also be much faster.
-### Creating videos without graphics, are you insane?
+### Does it support farbfeld?
-Yes, but see the rationale below!
+Of course. If you want to use farbfeld, you can use
+the `-f` flag for `blind-to-image` and `blind-from-image`,
+this will cause the programs to convert directly to
+or from farbfeld without using `convert(1)`.
+
+### Why doesn't blind uses encode pixels like farbfeld?
+
+blind and farbfeld solve completely different problems.
+farbfeld solves to problem of storing pictures in a
+simply way that can easily be viewed and editored.
+blind does not try to solve the problem of storing
+videos, video takes a lot of space and need compression
+designed especially for video or three-dimensional
+raster images. Compressed video cannot be efficiently
+edited because compression takes too long. Instead
+blind solves the problem of efficiently processing
+video: thousands of pictures. Because blind doesn't
+try to create a format for storing images, therefore
+it's format doesn't need to be portable. Furthermore,
+due to legacy in television (namely, that of
+black-and-white television), video formats do not
+store values in sRGB, but rather in Y'UV, so there
+is next to no benefit to storing colours in sRGB.
### Why doesn't blind use sRGB?
If I tell you I use CIE XYZ, you will only have two
questions: “how are values stored?” and “is Y scaled
to [0, 100] or [0, 1]?” When I tell you I use sRGB
-your have more questions: “do you support out-of-gamut
+you have more questions: “do you support out-of-gamut
colours?”, “how are values stored?”, “which scale
do you use?”, and “is the transfer-function applied?”
CIE XYZ also has the advantage of having the brightness
-encoded in one of its parameters, Y, which means that
-operations that want to deal with brightness only or
-chroma only does not need to do any conversions.
+encoded in one of its parameters, Y, and obtaining
+the chroma requires only simply conversion to a
+non-standardise colour model that with the same Y-value.
### Why does blind use CIE XYZ instead of CIE L\*a\*b\*?
@@ -91,20 +99,20 @@ the colours.
### Why does blind use CIE XYZ instead of Y'UV or YUV?
-Because Y'UV, which most videos use (for legacy
-reasons, namely that of black-and-white television)
-is not linear it has the same disadvantages as
-CIE L\*a\*b\*. Y'UV does not have its transfer-function
-applied directly to it's parameters, instead it is a
-linear transformation if the sRGB with its
-transfer-function applied. This means that no performance
-is gained during convertion to or from cooked video
-formates by using YUV. CIE XYZ also has the advantage
-that it is well-known and has a one-step conversion
-to almost all colour models. It also have the advantages
-that it's parameters are named X, Y, Z, which makes it
-very easy to choose parameter when storing points
-instead of colours in a video.
+Y'UV has good performance for converting to sRGB and
+is has good subsampling quality, but it is not a good
+for editing. Y'UV is non-linear, so it has the same
+disadvantages as CIE L\*a\*b\*. Y'UV does not have its
+transfer-function applied directly to it's parameters,
+instead it is a linear transformation if the sRGB with
+its transfer-function applied. This means that no
+performance is gained during convertion to or from
+cooked video formats by using YUV. CIE XYZ also has
+the advantage that it is well-known and has a one-step
+conversion to almost all colour models. It also have the
+advantages that it's parameters are named X, Y, Z, which
+makes it very easy to choose parameter when storing
+points instead of colours in a video.
### Doesn't blind have any audio support?
@@ -113,6 +121,15 @@ this. There are good tools for editing audio, and
ffmpeg can be used be used to extract the audio streams
from a video or add it to a video.
+### Is it really feasible to exit video without a GUI?
+
+Depends on what you are doing. Many things can be done
+without a going, and some thing are easier to do without
+a GUI. If you find that you need GUI it possible to
+combine blind with a graphical editor. Furthermore,
+blind could be used in by a graphical editor if one
+were to write a graphical editor to use blind.
+
Rationale
---------
@@ -121,7 +138,7 @@ Rationale
* Rendering can take a very long time. With this approach,
the user can use Make to only rerender parts that have
- been changes.
+ been changed.
* It's possible to distribute the rendering to multiple
computers, without any built in functionality for this,
@@ -129,7 +146,7 @@ Rationale
* Parallelism is added for free.
-* No room for buggy GUIs, which currently is a problem on
+* No room for buggy GUIs, which currently is a problem with
the large video editors for Linux.
* Less chance that the user makes a change by mistake
@@ -156,6 +173,14 @@ Download
* [blind-1.1](http://dl.suckless.org/tools/blind-1.1.tar.gz) (2017-05-06)
+Also make sure to check your package manager. The following distributions provide packages:
+
+* [Alpine Linux](https://pkgs.alpinelinux.org/package/edge/testing/x86_64/blind)
+
+* [Arch Linux (AUR)](https://aur.archlinux.org/packages/blind/)
+
+* [Arch Linux (AUR), git version](https://aur.archlinux.org/packages/blind-git/)
+
Dependencies
------------