aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 991e9ad6358fdf57153886991f46cb9b81f14962 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
blind-transform		affine transformation by matrix multiplication, -t for tiling, -s for
				improve quality on downscaling (pixels' neighbours must not change).
blind-chroma-key	replace a chroma with transparency or create an mask for the alpha channel.
blind-primary-key	replace a primary with transparency or create an mask for the alpha channel,
				-g for greyscaled images.
blind-primaries		given three selectable primaries split the video into three side-by-side which
				only one primary active.
blind-apply-map		remap pixels (distortion) using the X and Y values, -t for tiling, -s for
				improve quality on downscaling (pixels' neighbours must not change).
blind-apply-kernel	apply a convolution matrix.
blind-find-frame	a graphical tool for locating frames, should highlight key frames, and
				play audio. Should support both regular videos files and uivf.
				finding key frames: ffprobe -show_frames (lists all frames)
blind-affine-colour	apply an affine transformation to the colour of each pixel,
				-a for ignoring the alpha channel,
				-l for linear transformation,
				-p for transforming each pixel with their own transformation.
blind-invert-chroma	invert the chroma
blind-from-sent		convert a sent presentation to a one-frame-per-slide blind video.

blind-kirsch		https://en.wikipedia.org/wiki/Kirsch_operator
blind-gaussian-noise	https://en.wikipedia.org/wiki/Gaussian_noise
blind-threshold		https://en.wikipedia.org/wiki/Thresholding_(image_processing)
...			https://en.wikipedia.org/wiki/Balanced_histogram_thresholding
blind-otsu		https://en.wikipedia.org/wiki/Otsu%27s_method
blind-sobel		https://en.wikipedia.org/wiki/Sobel_operator
blind-scharr		https://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators
blind-prewitt		https://en.wikipedia.org/wiki/Prewitt_operator
blind-roberts-cross	https://en.wikipedia.org/wiki/Roberts_cross
---			https://en.wikipedia.org/wiki/Foreground_detection
---			https://en.wikipedia.org/wiki/Noise_reduction#In_images
---			https://en.wikipedia.org/wiki/Dark-frame_subtraction
---			https://en.wikipedia.org/wiki/Video_denoising
---			https://en.wikipedia.org/wiki/Canny_edge_detector
---			https://en.wikipedia.org/wiki/Deriche_edge_detector
---			https://en.wikipedia.org/wiki/Edge_detection
blind-mean		mean of multiple streams
			means from blind-temporal-mean
			https://en.wikipedia.org/wiki/Heinz_mean
			https://en.wikipedia.org/wiki/Heronian_mean
			https://en.wikipedia.org/wiki/Identric_mean
			https://en.wikipedia.org/wiki/Logarithmic_mean
			https://en.wikipedia.org/wiki/Stolarsky_mean
blind-temporal-arithm	blind-arithm but over all frames in a video instead of over all streams
blind-apply-icc		apply ICC profile to video

blind-from-video: add options to:
	* just run ffmpeg just print the output
	* convert output from the option above to blind's format,
	  but stop after a selected number of frames
	* like above, but instead of convert, simply read and
	  print to stdout (up to user to direct to /dev/null
	  for discarding)

blind-arithm: add support for multiple streams

bug: blind-stack: cannot use file outside /dev/fd/

Add [-j jobs] to blind-from-video and blind-to-video.

Generate a header file with the appropriate values for USING_BINARY32, USING_BINARY64.
long double is slightly faster than long.
long double (xyza q) could be added as another format.
unsigned char (xyza 8) could be added as another format, it's probably good for previewing


UNTESTED:
	blind-norm
	blind-dot-product
	blind-cross-product
	blind-quaternion-product
	blind-vector-projection


HELP REQUIRED:
	blind-z-map		create a Z-map video from two or more videos
	blind-track		track the movement of a point