sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

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:
Mtools.suckless.org/blind/index.md | 113++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------
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 ------------