blind-apply-kernel.1 (1792B)
1 .TH BLIND-APPLY-KERNEL 1 blind 2 .SH NAME 3 blind-apply-kernel - Apply a convolution matrix to a video 4 .SH SYNOPSIS 5 .B blind-apply-kernel 6 [-apPxy] 7 .I kernel-stream 8 .SH DESCRIPTION 9 .B blind-apply-kernel 10 reads a video from stdin and a convolution matrix video 11 from 12 .I kernel-stream 13 and apply the convolution matrix in each frame the 14 same frame in stdin, and prints the resulting video 15 to stdout. 16 .SH OPTIONS 17 .TP 18 .B -a 19 Used to optimise performance if it is known that 20 the video is opaque, and to ensure that the output 21 video is opaque. 22 .TP 23 .B -p 24 Each frame in 25 .I kernel-stream 26 shall contain one matrix per pixel in a frame in 27 stdin. The width of 28 .I kernel-stream 29 shall be a multiple of the width of stdin, the width 30 shall be the width of stdin multiplied by the width 31 of the convolution matrix. The height of 32 .I kernel-stream 33 shall be a multiple of the height of stdin, the 34 height shall be the height of stdin multiplied by the 35 height of the convolution matrix. 36 .TP 37 .B -P 38 Apply the convolution with first premultiplying 39 the alpha channel. 40 .TP 41 .B -x 42 When encountering the left or right edge of the video, 43 wrap around to the opposite edge. 44 .TP 45 .B -y 46 When encountering the upper or lower edge of the video, 47 wrap around to the opposite edge. 48 .SH REQUIREMENTS 49 .B blind-apply-kernel 50 requires enough free memory to load two full frames 51 from stdin and one full frame from 52 .I kernel-stream 53 into memory. However, if 54 .I -p 55 is used, the height of 56 .I kernel-stream 57 divide by the height of stdin number of rows from 58 .I kernel-stream 59 rather than a full frame from 60 .I kernel-stream 61 is loaded into memory. 62 A frame or row requires 32 bytes per pixel it contains. 63 .SH SEE ALSO 64 .BR blind (7), 65 .BR blind-make-kernel (1), 66 .BR blind-kernel (1), 67 .BR blind-gauss-blur (1) 68 .SH AUTHORS 69 Mattias Andrée 70 .RI < maandree@kth.se >