Unsharp filter for yuv4mpeg2 streams
y4munsharp [options]
y4munsharp is an implementation of the GIMP unsharp filter for YUV4MPEG2 streams. The usual 3 parameters for unshap mask processing (radius, amount and threshold) are specified on the command line. By default only the Y' (luma) component is processed although processing of the CbCr (chroma) may be requested by a commandline option. Output must be either to a pipe or a file, leaving stdout as a terminal will elicit an error and the program will exit.
y4munsharp accepts the following options:
-v num
Set verbosity level (0 = quiet, 1 = normal, 2 = debug) (default: 1)
-h
Print a suage summary and exit
-L radius,amount,threshold
Y' (luma) unsharp parameters. The radius and amount" arguments are floating point numbers. The threshold argument is an integer. (default: 3.0,0.3,4) -C radius,amount,threshold CbCr (chroma) unsharp parameters. The chroma is not processed unless this option is given. Arguments are the same type as for the -L option above. (default: none)
-N
Filtering can produce output outside the 16 to 240 range for Y' and 16 to 235 for CbCr. By default values outside the legal range are clipped/cored (values over 240 for Y' are set to 240 for example). Using -N the limits 0 and 255 are used instead.
A mild setting:
y4munsharp -L 2.0,0.3,0 An aggressive setting: y4munsharp -L 5.0,0.5,0
The radius, amount, threshold parameters have the same meaning as the GIMP's unsharp plugin. This means you can use the GIMP on selected frame still images to determine suitable settings for y4munsharp. The key thing to remember is to be subtle - you just barely want to notice the sharpening effect. If the effect is obvious ("jumps out at you") then the parameters are set too aggressively.
The chroma is not processed for a several reasons: 1) The eye is much more sensitive to changes in brightness, 2) the chroma is usually subsampled and doesn't contribute much to the perceived sharpness of an image - so not processing the chroma provides a boost in speed of processing the image, and 3) possible artifacting - changes in Y' just make an image brighter/darker but changes in Cb or Cr can change colors and possibly lead to shifts in hue. Use the -C option to enable processing of the chroma planes.
Only the 3 plane YUV4MPEG2 formats are supported.
Only progressive, top field first or bottom field first interlaced streams are handled. The mixed interlaced stream format is not supported.