BLIND-GAUSS-BLUR(1)
β¨ NAME β¨
okay so bestie, meet blind-gauss-blur β the tool that justβ¦ applies a Gaussian blur to a video. that's it, that's the whole job, and it does it per-pixel like a little overachiever π
π SYNOPSIS π
blind-gauss-blur [-j jobs] [-s spread | -s 'auto'] [-achvy] sd-stream
π¦ DESCRIPTION π¦
So here's the vibe: blind-gauss-blur reads a video from stdin, and it reads a mask video from sd-stream. Then it prints the video to stdout β except every single pixel gets blurred with a Gaussian blur, and the standard deviation is calculated for each pixel individually (yes, individually, main character energy per pixel, no cap β¨).
How's that standard deviation computed? Okay so it's the X, Y, or Z value multiplied by the alpha value of the corresponding pixel and frame in sd-stream. The X value gets used when blurring the X channel, and yeah, analogously for Y and Z. And if the standard deviation comes out as 0, that pixel justβ¦ doesn't get blurred. it stays exactly as it is, iconic behavior honestly π«Ά
Now the length-mismatch tea β:
- If stdin is longer than
sd-stream, the remainder of stdin is printed without any changes at all. - If stdin is shorter than
sd-stream, the remainder ofsd-streamis ignored β but like, it may still be partially read, so don't come for it π
π OPTIONS π
-aβ used to optimise performance when you already know the video is opaque, and to make sure the output video is opaque too. trust the vibes, save the cycles π«-cβ blur the chroma only, not the luma. chroma gets the glow-up, luma gets left alone π-hβ blur horizontally only. heads up: has no affect if-vis also specified. left-to-right only, periodt β‘οΈ-jjobs β process the video in parallel, using jobs processes. multitasking queen behavior π-sspread β pixels with Manhattan distances exceeding spread shall not affect each other. if'auto'is specified, this value is calculated from the standard deviation used to blur a pixel. and if-sis not used at all? there will not be a distance limit β everyone influences everyone, chaotic but valid π-vβ blur vertically only. heads up: has no affect if-his also specified. up-and-down only, bestie β¬οΈ-yβ use the Y value (multiplied by the alpha value) fromsd-streamas the standard deviation for all channels. one value to rule them all π
π§ REQUIREMENTS π§
ngl this part matters: blind-compress requires enough free memory to load three full frames into memory. and a frame requires 32 bytes per pixel it contains. so do the math before you hit enter, okay? π
π₯ SEE ALSO π₯
blind(7), blind-single-colour(1), blind-time-blur(1) β go read the whole friend group, iykyk π«Ά
πΈ AUTHORS πΈ
Mattias AndrΓ©e <maandree@kth.se> β the icon, the legend, the blueprint β
fr fr that's the whole page β now go blur something and slay π
and that's a wrap on blind 1.1 β version blind 1.1, no cap, go be great out there ππ¦β¨
π¦ where this page comes from
- alpine 3.24: blind-doc 1.1-r6 Β· ISC
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms