yuvmedianfilter(1)

πŸ’– yuvmedianfilter(1) β€” the MJPEG tools manual, bestie edition πŸ’–

okay so. you opened the manual for yuvmedianfilter, part of the MJPEG tools family. and honestly? she's giving glow-up filter for your yuv images. let's get into it πŸ¦‹


✨ NAME ✨

yuvmedianfilter β€” a filter for yuv images produced by the mjpeg tools


✨ SYNOPSIS ✨

yuvmedianfilter [-r num] [-R num] [-t num] [-T num] [-I num] [-f] [-w
num] [-s num] [-v num] [-h]

✨ DESCRIPTION ✨

so yuvmedianfilter is literally designed to enhance/filter images. she takes the input from STDIN and writes output to STDOUT. that's the whole vibe, no files, just pipes πŸ’…

here's the tea on what she actually does: this filter looks around the current point for a radius and averages the values that fall inside a threshold. so the image is softened and the edges become more sharp. yes, both. she's multi-talented. ✨

if your input material is noisy (and ngl, it is always noisy, you just don't always see it πŸ™ˆ) the output images are improved and the encoder spends less bandwidth encoding noise. iconic behavior tbh.

the more sophisticated version of image filtering is yuvdenoise. but bestie, you can use both programs in the encoding procces. (their spelling, not mine, love them anyway 🫢)

⚠️ heads up: it cannot process a recorded file and write the improved version to another file. she's a pipe girlie. STDIN in, STDOUT out, periodt.

✨ OPTIONS ✨

yuvmedianfilter accepts the following options:

  • -r num β€” Radius for luma median (default: 2 pixels)
  • -R num β€” Radius for chroma median (default: 2 pixels)
  • -t num β€” Trigger threshold for luma (default: 2 [0=disable])
  • -T num β€” Trigger threshold for chroma (default: 2 [0=disable])
  • -I num β€” Interlacing type (0=no, 1=yes, default: taken from yuv stream)
  • -f β€” Fast mode, i.e. the threshold is ignored, and a simple mean of the surrounding values is calculated. she's not being careful, she's being quick πŸ’¨
  • -w num β€” In fast mode, the weight given to the current value versus the surrounding values. Default is 8. Note that certain combinations of radii and weights have been optimized to be even faster -- radius 1 and weight 2.667, radius 1 and weight 8, and radius 2 and weight 8. so if you pick one of those, you're lowkey getting the speedrun build πŸ”₯
  • -c num β€” In slow mode, more than this fraction of the pixels must be within the threshold; otherwise the pixel is simply the weighted mean of pixels within a radius of 1. Default is 0.33333.
  • -s num β€” Number of beginning frames to skip. The first num frames are written to stdout unfiltered. This is useful for resuming an interrupted job without having to duplicate work. (no redoing your homework, bestie, we don't do that here πŸ“š)
  • -v num β€” Verbosity level (0, 1 or 2)
  • -h β€” Print out a help message

πŸ’€ BUGS πŸ’€

It is slow. Using a radius greater than the default of 2 is painfully slow.

like. painfully. we're talking waiting-for-your-iced-coffee-in-a-long-line slow. you have been warned. 😭


πŸŽ€ AUTHOR πŸŽ€

This man page was written by Bernhard Praschinger.

The yuvmedianfilter program was written by Mike Bernson, and adapted to the yuv4mpeg2 stream header format by Steven M. Schultz.

If you have questions, remarks, problems or you just want to contact the developers, the main mailing list for the MJPEG-tools is:

mjpeg-users@lists.sourceforge.net

For more info, see our website at

http://mjpeg.sourceforge.net

🌈 SEE ALSO 🌈

mjpegtools(1), jpeg2yuv(1), lav2yuv(1), mpeg2enc(1), ppmtoy4m(1), yuv2lav(1), yuvdenoise(1), yuvscaler(1)


and that's the whole page, bestie πŸ’œ this one came out of the y4mutils corner of the world, dated 24 February 2003 β€” an absolute vintage icon, ahead of her time, still slaying. go forth and filter, and remember: radius 2 or you're gonna be waiting forever πŸ‘‘βœ¨