commit 56ed14063c8b2c82d5ea0652028f47f76cb710f0
parent d967cd0ef2e9d510f2c2588d47a9e811ebff7fda
Author: Mattias Andrée <maandree@kth.se>
Date: Mon, 3 Jul 2017 14:30:44 +0200
Document blind-coordinate-field, blind-*-gradient, and blind-*-wave (sinc still pending), and sinus => sine
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat:
17 files changed, 709 insertions(+), 16 deletions(-)
diff --git a/Makefile b/Makefile
@@ -19,7 +19,7 @@ BIN =\
blind-disperse\
blind-dissolve\
blind-dot-product\
- blind-double-sinus-wave\
+ blind-double-sine-wave\
blind-extend\
blind-find-rectangle\
blind-flip\
@@ -50,7 +50,7 @@ BIN =\
blind-set-saturation\
blind-single-colour\
blind-sinc-wave\
- blind-sinus-wave\
+ blind-sine-wave\
blind-skip-pattern\
blind-spiral-gradient\
blind-split\
diff --git a/README b/README
@@ -30,26 +30,35 @@ UTILITIES
blind-concat(1)
Concatenate videos
+ blind-cone-gradient(1)
+ Generate a video with a cone gradient
+
blind-convert(1)
Change pixel format of a video
- blind-cross-product(1)
- Calculate the cross product of colours in a video
+ blind-coordinate-field(1)
+ Generate a video where each pixel indicate their position
blind-crop(1)
Extract subframes for all frames
+ blind-cross-product(1)
+ Calculate the cross product of colours in a video
+
blind-cut(1)
Retain consecutive frames
- blind-dot-product(1)
- Calculate the dot product of colours in a video
+ blind-disperse(1)
+ Framewise split a video into multiple videos
blind-dissolve(1)
Fade a video by chaning it's alpha channel
- blind-disperse(1)
- Framewise split a video into multiple videos
+ blind-dot-product(1)
+ Calculate the dot product of colours in a video
+
+ blind-double-sine-wave(1)
+ Apply double-sine-wave repetition to gradient
blind-extend(1)
Add margins to a video
@@ -90,6 +99,9 @@ UTILITIES
blind-make-kernel(1)
Create a custom convolution matrix
+ blind-linear-gradient(1)
+ Generate a video with a linear gradient
+
blind-next-frame(1)
Extracts the next frame from a video
@@ -102,6 +114,9 @@ UTILITIES
blind-quaternion-product(1)
Calculate the quaternion product of colours in a video
+ blind-radial-gradient(1)
+ Generate a video with a radial gradient
+
blind-read-head(1)
Reads the head from a video
@@ -123,6 +138,12 @@ UTILITIES
blind-rotate-270(1)
Rotate a video 270 degrees clockwise
+ blind-round-wave(1)
+ Apply round wave repetition to gradient
+
+ blind-sawtooth-wave(1)
+ Apply sawtooth-wave repetition to gradient
+
blind-set-alpha(1)
Multiply the alpha channel of a video
@@ -132,12 +153,26 @@ UTILITIES
blind-set-saturation(1)
Multiply the saturation of a video
+ blind-sine-wave(1)
+ Apply sine-wave repetition to gradient
+
+TODO blind-sinc-wave
+
+ blind-sinc-wave(1)
+ Apply cardinal sine-wave repetition to gradient
+
blind-single-colour(1)
Generate a single-colour video
+ blind-sine-wave(1)
+ Apply sine-wave repetition to gradient
+
blind-skip-pattern(1)
Skips frames in a video according to pattern
+ blind-spiral-gradient(1)
+ Generate a video with a spiral gradient
+
blind-split(1)
Split a video, by frame, into multiple videos
@@ -147,6 +182,9 @@ UTILITIES
blind-split-rows(1)
Split a video horizontally into multiple videos
+ blind-square-gradient(1)
+ Generate a video with a square gradient
+
blind-stack(1)
Overlay videos
@@ -177,6 +215,9 @@ UTILITIES
blind-transpose(1)
Transpose a video
+ blind-triangular-wave(1)
+ Apply triangular wave repetition to gradient
+
blind-unpremultiply(1)
Unpremultiply the alpha channel of a video
diff --git a/TODO b/TODO
@@ -70,6 +70,7 @@ UNTESTED:
blind-cross-product
blind-quaternion-product
blind-vector-projection
+ blind-coordinate-field
HELP REQUIRED:
diff --git a/man/blind-cone-gradient.1 b/man/blind-cone-gradient.1
@@ -0,0 +1,63 @@
+.TH BLIND-CONE-GRADIENT 1 blind
+.SH NAME
+blind-cone-gradient - Generate a video with a cone gradient
+.SH SYNOPSIS
+.B blind-cone-gradient
+[-a | -s]
+-w
+.I width
+-h
+.I height
+.SH DESCRIPTION
+.B blind-cone-gradient
+prints a video with a cone gradient to stdout,
+parameters for each from is read from each frame
+in stdin. The gradient is stored in all channels
+of the video.
+.P
+The video in stdin must contain exactly 2 or 3
+pixels per frame. The first pixel shall point to
+the beginning of the gradient (where the value is
+0) and the second pixel shall point to the end of
+the gradient (where the value is 1). In these
+pixels, the value of the first channel specifies
+the X-position and the value of the second
+channel specifies Y-position, the other channels
+are ignored.
+.P
+If there is a third pixel, in frames in stdin, all
+values in the gradient are multipled by the value
+in the second channel (the Y channel) of the third
+pixel in stdin; the rest of the channels in this
+pixel is ignored.
+.SH OPTIONS
+.TP
+.B -a
+Make the gradient increase anticlockwise
+instead of clockwise.
+.TP
+.B -s
+Make the gradient increase symmetrically
+instead of clockwise.
+.TP
+.BR -w " "\fIwidth\fP
+The width of the video, in pixels.
+.TP
+.BR -h " "\fIheight\fP
+The height of the video, in pixels.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-from-text (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-coordinate-field.1 b/man/blind-coordinate-field.1
@@ -0,0 +1,50 @@
+.TH BLIND-COORDINATE-FIELD 1 blind
+.SH NAME
+blind-coordinate-field - Generate a video where each pixel indicate their position
+.SH SYNOPSIS
+.B blind-coordinate-field
+[-f
+.I frames
+| -f
+.RB ' inf ']
+[-F
+.IR pixel-format ]
+-w
+.I width
+-h
+.I height
+.SH DESCRIPTION
+.B blind-coordinate-field
+prints a video to stdout.
+The values in first channel will be the X-position
+for each pixel, and the first channel will be the
+Y-position for each pixel. The values in the other
+channels will be zero.
+.SH OPTIONS
+.TP
+.BR -f " "\fIframes\fP
+The number of frames in the video. If
+.I frames
+is
+.RB ' inf ',
+the number of frames will be specified as 0 in the output's
+head (works fine with most
+.B blind
+tools) but the video will be printed to stdout until there are
+no processes with an open read end to this process's stdout.
+.TP
+.BR -F " "\fIpixel-format\fP
+Select pixel format, see
+.BR blind-convert (1)
+for more information.
+.TP
+.BR -w " "\fIwidth\fP
+The width of the video, in pixels.
+.TP
+.BR -h " "\fIheight\fP
+The height of the video, in pixels.
+.SH SEE ALSO
+.BR blind (7)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-double-sine-wave.1 b/man/blind-double-sine-wave.1
@@ -0,0 +1,34 @@
+.TH BLIND-DOUBLE-SINE-WAVE 1 blind
+.SH NAME
+blind-double-sine-wave - Apply double-sine-wave repetition to gradient
+.SH SYNOPSIS
+.B blind-double-sine-wave
+[-e]
+.SH DESCRIPTION
+.B blind-double-sine-wave
+reads a video from stdin, applies a filter to
+each channel to it, and prints the result to
+stdout. The filter is designed for applying
+repetition to a gradient, and thus assumes the
+range of visible values is [0, 1]. The applied
+filter creates a double-sine-wave.
+.SH OPTIONS
+.TP
+.B -e
+Apply optimisation that assumes all channels
+are identical.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-linear-gradient.1 b/man/blind-linear-gradient.1
@@ -0,0 +1,59 @@
+.TH BLIND-LINEAR-GRADIENT 1 blind
+.SH NAME
+blind-linear-gradient - Generate a video with a linear gradient
+.SH SYNOPSIS
+.B blind-linear-gradient
+[-b]
+-w
+.I width
+-h
+.I height
+.SH DESCRIPTION
+.B blind-linear-gradient
+prints a video with a linear gradient to stdout,
+parameters for each from is read from each frame
+in stdin. The gradient is stored in all channels
+of the video.
+.P
+The video in stdin must contain exactly 2 pixels
+per frame. The first pixel shall point to the
+beginning of the gradient (where the value is 0)
+and the second pixel shall point to the end of
+the gradient (where the value is 1). In these
+pixels, the value of the first channel specifies
+the X-position and the value of the second
+channel specifies Y-position, the other channels
+are ignored.
+.SH NOTES
+Pixels before the beginning of the gradient have
+negative values, and pixels after the end of the
+gradient have values larger than 1.
+.BR blind-*-wave (1)
+commands can be used to put all values between
+0 and 1.
+.SH OPTIONS
+.TP
+.B -b
+Create a bilinear gradient.
+.TP
+.BR -w " "\fIwidth\fP
+The width of the video, in pixels.
+.TP
+.BR -h " "\fIheight\fP
+The height of the video, in pixels.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-from-text (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-radial-gradient.1 b/man/blind-radial-gradient.1
@@ -0,0 +1,79 @@
+.TH BLIND-RADIAL-GRADIENT 1 blind
+.SH NAME
+blind-radial-gradient - Generate a video with a radial gradient
+.SH SYNOPSIS
+.B blind-radial-gradient
+-w
+.I width
+-h
+.I height
+.SH DESCRIPTION
+.B blind-radial-gradient
+prints a video with a radial gradient to stdout,
+parameters for each from is read from each frame
+in stdin. The gradient is stored in all channels
+of the video.
+.P
+The video in stdin must contain exactly 2 or 3
+pixels per frame. The first pixel shall point to
+the beginning of the gradient (where the value is
+0) and the second pixel shall point to the end of
+the gradient (where the value is 1). In these
+pixels, the value of the first channel specifies
+the X-position and the value of the second
+channel specifies Y-position, the other channels
+are ignored.
+.P
+If there is a third pixel, in frames in stdin, it
+specified parameters to make the gradient elliptic
+or superelliptic. For a completely circular
+gradient its values should be 2, 2, and 1 for the
+first, second, and third channels, respectively;
+the fourth channel (the alpha channel) is ignored.
+If we name these values,
+.IR a ,
+.IR b ,
+and
+.IR m ,
+their is an imaginary superelliptic, on which the
+values of the gradient is 1, determined by the
+equation
+.RI || p ||^ a +|| r / m ||^ b =1,
+where
+.I p
+and
+.I r
+is the projection and rejection, respectively,
+of the normalised vector from beginning of the
+gradient to a pixel onto the vector from the
+beginning of the gradient to the end of the
+gradient.
+.SH NOTES
+Pixels after the end of the gradient have values
+larger than 1.
+.BR blind-*-wave (1)
+commands can be used to put all values between
+0 and 1.
+.SH OPTIONS
+.TP
+.BR -w " "\fIwidth\fP
+The width of the video, in pixels.
+.TP
+.BR -h " "\fIheight\fP
+The height of the video, in pixels.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-from-text (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-round-wave.1 b/man/blind-round-wave.1
@@ -0,0 +1,34 @@
+.TH BLIND-ROUND-WAVE 1 blind
+.SH NAME
+blind-round-wave - Apply round-wave repetition to gradient
+.SH SYNOPSIS
+.B blind-round-wave
+[-e]
+.SH DESCRIPTION
+.B blind-round-wave
+reads a video from stdin, applies a filter to
+each channel to it, and prints the result to
+stdout. The filter is designed for applying
+repetition to a gradient, and thus assumes the
+range of visible values is [0, 1]. The applied
+filter creates a round wave.
+.SH OPTIONS
+.TP
+.B -e
+Apply optimisation that assumes all channels
+are identical.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-double-sine-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-sawtooth-wave.1 b/man/blind-sawtooth-wave.1
@@ -0,0 +1,35 @@
+.TH BLIND-SAWTOOTH-WAVE 1 blind
+.SH NAME
+blind-sawtooth-wave - Apply sawtooth-wave repetition to gradient
+.SH SYNOPSIS
+.B blind-sawtooth-wave
+[-e]
+.SH DESCRIPTION
+.B blind-sawtooth-wave
+reads a video from stdin, applies a filter to
+each channel to it, and prints the result to
+stdout. The filter is designed for applying
+repetition to a gradient, and thus assumes the
+range of visible values is [0, 1]. The applied
+filter creates a sawtooth-wave.
+.SH OPTIONS
+.TP
+.B -e
+Apply optimisation that assumes all channels
+are identical.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-sine-wave.1 b/man/blind-sine-wave.1
@@ -0,0 +1,34 @@
+.TH BLIND-SINE-WAVE 1 blind
+.SH NAME
+blind-sine-wave - Apply sine-wave repetition to gradient
+.SH SYNOPSIS
+.B blind-sine-wave
+[-e]
+.SH DESCRIPTION
+.B blind-sine-wave
+reads a video from stdin, applies a filter to
+each channel to it, and prints the result to
+stdout. The filter is designed for applying
+repetition to a gradient, and thus assumes the
+range of visible values is [0, 1]. The applied
+filter creates a sine-wave.
+.SH OPTIONS
+.TP
+.B -e
+Apply optimisation that assumes all channels
+are identical.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-spiral-gradient.1 b/man/blind-spiral-gradient.1
@@ -0,0 +1,123 @@
+.TH BLIND-SPIRAL-GRADIENT 1 blind
+.SH NAME
+blind-spiral-gradient - Generate a video with a spiral gradient
+.SH SYNOPSIS
+.B blind-spiral-gradient
+[-al]
+-w
+.I width
+-h
+.I height
+.SH DESCRIPTION
+.B blind-spiral-gradient
+prints a video with a spiral gradient to stdout,
+parameters for each from is read from each frame
+in stdin. The gradient is stored in all channels
+of the video.
+.P
+The video in stdin must contain 2 to 5 pixels per
+frame (inclusively). The first pixel shall point
+to the beginning of the gradient (where the value
+is 0) and the second pixel shall point to the end
+of the gradient (where the value is 1). In these
+pixels, the value of the first channel specifies
+the X-position and the value of the second
+channel specifies Y-position, the other channels
+are ignored. The angle of the vector between these
+two pixels determine the angle of the spiral.
+.P
+If there are four or five pixel in each frame in
+stdin, the third and fourth pixels are used to
+modify the shape of the spiral so that it is
+based on a superellipse instead of a circle.
+The first and second channel of third pixel creates
+a vector that is normalised. This vector and its
+normal creates the basis an imaginary coordinate
+system with its origo at the beginning of the spiral.
+The superellipse defined by the equation
+.RI | x |^ a +| y / m |^ b =1,
+where
+.I x
+is the distance from origo along the vector,
+.I y
+is the distance from origo along the vector's normal,
+.IR a ,
+.IR b ,
+and
+.I m
+are the values of the first, second, and third
+channels, respectively, in the fourth pixel. and has
+the distance 1 from origo at all points on it. If
+.IR a ,
+.IR b ,
+and
+.I m
+have the values 2, 2, and 1, respectively, these
+pixels have no effect on the spiral's shape.
+The third and fourth channels in the third pixel
+and the fourth channel in the fourth pixel are
+ignored.
+.P
+If there are three or five pixels, the channels,
+in order, in the last pixel, specifies the value
+.IR a ,
+.IR e ,
+.IR p ,
+and
+.IR k ,
+whose default values are 0, 1, 1, and 1, respectively.
+.I k
+is ignored unless
+.B -l
+is used. If
+.B -l
+is not used, the spiral is defined by the equation
+.IR r = a +( b /( 2\fBpi\fP )^ e ) v ^( ep ).
+If
+.B -l
+is used, the spiral is defined by the equation
+.RI log( r / k )= a +(log( b )/( 2\fBpi\fP )^ e ) v ^( ep ).
+.I r
+is defined as the distance from the center of the
+spiral,
+.I b
+is defined as the distance between the points
+specified in the first and second pixel from stdin,
+and
+.I v
+is defined as the angle.
+.SH NOTES
+Pixels after the end of the gradient have values
+larger than 1.
+.BR blind-*-wave (1)
+commands can be used to put all values between
+0 and 1.
+.SH OPTIONS
+.TP
+.B -a
+Create a spiral that gones anticlockwise.
+.TP
+.B -l
+Create a logarithmic spiral.
+.TP
+.BR -w " "\fIwidth\fP
+The width of the video, in pixels.
+.TP
+.BR -h " "\fIheight\fP
+The height of the video, in pixels.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-from-text (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-square-gradient.1 b/man/blind-square-gradient.1
@@ -0,0 +1,63 @@
+.TH BLIND-SQUARE-GRADIENT 1 blind
+.SH NAME
+blind-square-gradient - Generate a video with a square gradient
+.SH SYNOPSIS
+.B blind-square-gradient
+[-b]
+-w
+.I width
+-h
+.I height
+.SH DESCRIPTION
+.B blind-square-gradient
+prints a video with a square gradient to stdout,
+parameters for each from is read from each frame
+in stdin. The gradient is stored in all channels
+of the video.
+.P
+The video in stdin must contain exactly 2 or 3
+pixels per frame. The first pixel shall point to
+the beginning of the gradient (where the value is
+0) and the second pixel shall point to the end of
+the gradient (where the value is 1). In these
+pixels, the value of the first channel specifies
+the X-position and the value of the second
+channel specifies Y-position, the other channels
+are ignored.
+.P
+If there is a third pixel, in frames in stdin,
+the value of the second channel (the Y channel)
+is used to modify the shape of the square, making
+it rectangular; the other channels are ignored.
+The axis perpendicular to the vector between
+the beginning and end of the gradient is divided
+by this value.
+.SH NOTES
+Pixels after the end of the gradient have values
+larger than 1.
+.BR blind-*-wave (1)
+commands can be used to put all values between
+0 and 1.
+.SH OPTIONS
+.TP
+.BR -w " "\fIwidth\fP
+The width of the video, in pixels.
+.TP
+.BR -h " "\fIheight\fP
+The height of the video, in pixels.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-from-text (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-triangular-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind-triangular-wave.1 b/man/blind-triangular-wave.1
@@ -0,0 +1,38 @@
+.TH BLIND-TRIANGULAR-WAVE 1 blind
+.SH NAME
+blind-triangular-wave - Apply triangular-wave repetition to gradient
+.SH SYNOPSIS
+.B blind-triangular-wave
+[-es]
+.SH DESCRIPTION
+.B blind-triangular-wave
+reads a video from stdin, applies a filter to
+each channel to it, and prints the result to
+stdout. The filter is designed for applying
+repetition to a gradient, and thus assumes the
+range of visible values is [0, 1]. The applied
+filter creates a triangular wave.
+.SH OPTIONS
+.TP
+.B -e
+Apply optimisation that assumes all channels
+are identical.
+.TP
+.B -s
+Apply a variation of the filter that is
+more appropriate for spiral gradient.
+.SH SEE ALSO
+.BR blind (7),
+.BR blind-double-sine-wave (1),
+.BR blind-round-wave (1),
+.BR blind-sawtooth-wave (1),
+.BR blind-sinc-wave (1),
+.BR blind-sine-wave (1),
+.BR blind-cone-gradient (1),
+.BR blind-linear-gradient (1),
+.BR blind-radial-gradient (1),
+.BR blind-spiral-gradient (1),
+.BR blind-square-gradient (1)
+.SH AUTHORS
+Mattias Andrée
+.RI < maandree@kth.se >
diff --git a/man/blind.7 b/man/blind.7
@@ -29,10 +29,12 @@ Place videos side by side
Stack videos vertically
.TP
.BR blind-colour-ciexyz (1)
-Convert CIE XYZ for use with blind-single-colour(1)
+Convert CIE XYZ for use with
+.BR blind-single-colour (1)
.TP
.BR blind-colour-srgb (1)
-Convert sRGB for use with blind-single-colour(1)
+Convert sRGB for use with
+.BR blind-single-colour (1)
.TP
.BR blind-compress (1)
Compress a video for network transmission
@@ -40,30 +42,40 @@ Compress a video for network transmission
.BR blind-concat (1)
Concatenate videos
.TP
+.BR blind-cone-gradient (1)
+Generate a video with a cone gradient
+.TP
.BR blind-convert (1)
Change pixel format of a video
.TP
-.BR blind-cross-product (1)
-Calculate the cross product of colours in a video
+.BR blind-coordinate-field (1)
+Generate a video where each pixel indicate their position
.TP
.BR blind-crop (1)
Extract subframes for all frames
.TP
+.BR blind-cross-product (1)
+Calculate the cross product of colours in a video
+.TP
.BR blind-cut (1)
Retain consecutive frames
.TP
.BR blind-decompress (1)
-Decompress a video compressed by blind-compress(1)
-.TP
-.BR blind-dissolve (1)
-Fade a video by chaning it's alpha channel
+Decompress a video compressed by
+.BR blind-compress (1)
.TP
.BR blind-disperse (1)
Framewise split a video into multiple videos
.TP
+.BR blind-dissolve (1)
+Fade a video by chaning it's alpha channel
+.TP
.BR blind-dot-product (1)
Calculate the dot product of colours in a video
.TP
+.BR blind-double-sine-wave (1)
+Apply double-sine-wave repetition to gradient
+.TP
.BR blind-extend (1)
Add margins to a video
.TP
@@ -100,6 +112,9 @@ Framewise interleave videos
.BR blind-invert-luma (1)
Invert the luminosity of a video
.TP
+.BR blind-linear-gradient (1)
+Generate a video with a linear gradient
+.TP
.BR blind-make-kernel (1)
Create a custom convolution matrix
.TP
@@ -115,6 +130,9 @@ Premultiply the alpha channel of a video
.BR blind-quaternion-product (1)
Calculate the quaternion product of colours in a video
.TP
+.BR blind-radial-gradient (1)
+Generate a video with a radial gradient
+.TP
.BR blind-read-head (1)
Reads the head from a video
.TP
@@ -136,6 +154,12 @@ Rotate a video 180 degrees
.BR blind-rotate-270 (1)
Rotate a video 270 degrees clockwise
.TP
+.BR blind-round-wave (1)
+Apply round wave repetition to gradient
+.TP
+.BR blind-sawtooth-wave (1)
+Apply sawtooth-wave repetition to gradient
+.TP
.BR blind-set-alpha (1)
Multiply the alpha channel of a video
.TP
@@ -145,12 +169,21 @@ Multiply the luminosity of a video
.BR blind-set-saturation (1)
Multiply the saturation of a video
.TP
+.BR blind-sinc-wave (1)
+Apply cardinal sine-wave repetition to gradient
+.TP
.BR blind-single-colour (1)
Generate a single-colour video
.TP
+.BR blind-sine-wave (1)
+Apply sine-wave repetition to gradient
+.TP
.BR blind-skip-pattern (1)
Skips frames in a video according to pattern
.TP
+.BR blind-spiral-gradient (1)
+Generate a video with a spiral gradient
+.TP
.BR blind-split (1)
Split a video, by frame, into multiple videos
.TP
@@ -160,6 +193,9 @@ Split a video vertically into multiple videos
.BR blind-split-rows (1)
Split a video horizontally into multiple videos
.TP
+.BR blind-square-gradient (1)
+Generate a video with a square gradient
+.TP
.BR blind-stack (1)
Overlay videos
.TP
@@ -192,6 +228,9 @@ Perform framewise translation of a video
.BR blind-transpose (1)
Transpose a video
.TP
+.BR blind-triangular-wave (1)
+Apply triangular wave repetition to gradient
+.TP
.BR blind-unpremultiply (1)
Unpremultiply the alpha channel of a video
.TP
diff --git a/src/blind-double-sinus-wave.c b/src/blind-double-sine-wave.c
diff --git a/src/blind-sinus-wave.c b/src/blind-sine-wave.c