2:1 reduction | Shrink video to half-size using a non-overlapping 2x2 kernel. |
2:1 reduction (high quality) | Shrink video to half-size using an overlapping 3x3 kernel. |
blur | Apply a radius-1 Gaussian blur to video. |
blur more | Apply a radius-2 Gaussian blur to video. |
bob doubler | Interpolate interlaced video to field rate. |
box blur | Apply fast approximated blurs to video. |
brightness/contrast | Perform fast linear luminance adjustments. |
chroma smoother | Re-interpolate color information in an image without affecting brightness. |
convert format | Convert video to a different image format. |
deinterlace | Split, unsplit, discard, and duplicate fields. |
emboss | Apply psuedo-3D edge detection matrices. |
field bob | Resamples alternating frames to remove jittering when splitting fields to frames. |
field swap | Swaps even and odd fields to fix mistakes. |
fill | Fills a rectangle in the video with a solid color. |
flip horizontally | Flips video frame horizontally. |
flip vertically | Flips video frame vertically. |
general convolution | Apply an arbitrary 3x3 filtering matrix. |
grayscale | Convert a color video to grayscale. |
HSV adjust | Adjust hue, saturation, and value. |
invert | Create or undo negatives. |
levels | Apply non-linear ramp adjustments. |
logo | Plop your very own bug into the frame. |
motion blur | Blur video in time to create motion trails. |
null transform | Does nothing, but can be used to crop. |
resize | Convert video to a different size. |
rotate | Rotate video by right angles. |
rotate2 | Rotate video by arbitrary angles. |
sharpen | Make video crisper. |
smoother | Adaptively blur a video while trying to preserve edges. |
temporal smoother | Adaptively noise-reduce video across frames. |
threshold | Convert video to black and while by comparing against a threshold. |
TV | Blur or resample video in luma/chroma space. |
warp resize | Resize video using an edge-sensitive algorithm. |
2:1 reduction
- Shrink video to half-size using a non-overlapping 2x2 kernel.
Note | This filter is deprecated and will be removed in a later version. |
2:1 reduction (high quality)
- Shrink video to half-size using an overlapping 3x3 kernel.
Note | This filter is deprecated and will be removed in a later version. |
blur
- Apply a radius-1 Gaussian blur to video.
blur more
- Apply a radius-2 Gaussian blur to video.
bob doubler
- Interpolate interlaced video to field rate.
box blur
- Apply fast approximated blurs to video.
brightness/contrast
- Perform fast linear luminance adjustments.
chroma smoother
- Re-interpolate color information in an image without affecting brightness.
Video compression algorithms often store color (chroma) information at a lower resolution than grayscale brightness information, since the eye is less sensitive to detail in color; however, some video codecs don't interpolate chroma well on decompression, resulting in blockiness around sharp color transitions. The chroma smoother filter attempts to apply a blur solely in the color channels to correct this situation.
Each chroma option in chroma smoother's configuration corresponds to a blur that is tuned for a particular type of chroma subsampling; assuming that the video decoder did not interpolate chroma at all, choosing the correct setting will produce a result approximating bilinear interpolation. Of course, stronger or weaker options can be picked to taste.
convert format
- Convert video to a different image format.
deinterlace
- Split, unsplit, discard, and duplicate fields.
emboss
- Apply psuedo-3D edge detection matrices.
Emboss gives a 3D-like effect by "lighting" the video from a particular direction. This highlights edges in the image. It can also be used to amplify a video in order to look for low-level noise.
All forms of the emboss filter can also be done manually by the general convolution filter.
field bob
- Resamples alternating frames to remove jittering when splitting fields to frames.
field swap
- Swaps even and odd fields to fix mistakes.
fill
- Fills a rectangle in the video with a solid color.
flip horizontally
- Flips video frame horizontally.
flip vertically
- Flips video frame vertically.
general convolution
- Apply an arbitrary 3x3 filtering matrix.
A convolution filter is a filter that uses a local area of pixels to compute a new pixel. It can be thought of as either taking a weighted sum of an area of source pixels, or adding a weighted area to the output scaled by the source pixel (the two are equivalent). Filters that can be performed using convolution include blurs, sharpens, and edge detectors.
The general convolution filter allows a 3x3 filter to be specified. Each value in the filter is specified as a value from a scale to 0-256, where 256 means a value of 1.0 (yes, this is a programmerism). Values can be specified outside this somewhat, including negative numbers, although large values like 10,000 are inadvisable. Each value then specifies either the amount of source to include in the result, or the amount of result to produce from the center source pixel (again, depending on your perspective).
The clipping option should almost always be enabled; if it is not, the result will be incorrect when the result of the filter is below black or above white.
Bias is a value to add to the result, again in the range 0-255. It is useful when both positive and negative values need to be visualized, such as error values. It acts much like a brightness adjustment.
Some hints regarding design of convolution filters:
- The sum of all of the values in the matrix is the gain of the filter, which determines the change in contrast produced by the filter. A sum of 256 results in unity gain, i.e. no change. Higher sums amplify the image and lower sums mute it. A zero sum completely removes the image, and a negative sum inverts it.
- Filter matrices that consist of all positive elements are blurs. For instance, here is a blur matrix:
28 28 28 28 32 28 28 28 28
- Matrices that aren't symmetrical — those that are lopsided in a direction — will have edge detection effects.
- A bright pixel in the image will take on the shape of the filter matrix.
grayscale
- Convert a color video to grayscale.
HSV adjust
- Adjust hue, saturation, and value.
invert
- Create or undo negatives.
levels
- Apply non-linear ramp adjustments.
- Scale input range up to full range. The black level and white levels are the first and third parameters on the top; anything lower than the black level becomes black, and anything above the white level becomes white.
- Apply gamma correction (middle top parameter). You can either type in the gamma correction power, or you can move the slider, which controls which level in the source image becomes middle gray (50%). Black and white always stay black and white through this correction step.
- Scale to output range (bottom parameters) -- the image levels are finally scaled down to the black and white levels indicated here.
Note | Levels always works with full scale levels -- black and white are 0 and 255, not 16 and 235 as in YCbCr space. |
logo
- Plop your very own bug into the frame.
- Enable per-pixel blending using the alpha channel
- An image can be augmented using an additional monochrome map called an alpha channel. This map contains a single value per pixel indicating how opaque or translucent that pixel should be; it allows logos to be created that have shaded areas. Most photographic image editing packages have options to edit an alpha, mask, or opacity layer on an image for this purpose. For use with this filter, it is best to save such images in TARGA (.tga) format with 32-bit pixels.
- Use premultiplied alpha
- Affects the interpretation of the alpha channel. Normally alpha channels simply control blending of an image, but when creating an image from scratch that has soft edges, creating such an alpha channel may be difficult. Premultiplied alpha refers to a method of blending where the image itself is expected to be pre-darkened where it is not fully opaque, to the point of being black where alpha indicates transparent areas. In a painting package, you may find this more convenient to create, as you can simply draw on top of "transparent black."
- Use gray channel of secondary image for alpha channel
- When it is inconvenient to create a single image with an alpha channel, enabling this option will allow the alpha to be supplied using the brightness of a second image. This image should have the same size as the main logo image, although it need not be of the same format.
- Opacity
- Global translucency control; 0% will hide the logo, 100% shows the logo at full opacity, and intermediate values will fade it out somewhat. When per-pixel blending is enabled, this option will scale down all of the alpha values.
- Justification, X/Y offset
- Specifies the position of the image. If justification is something other than TL (top-left), the positioning will be relative to another point within the image, which is useful for consistently placing logos in the bottom-right corner when working with videos of different sizes.
motion blur
- Blur video in time to create motion trails.
null transform
- Does nothing, but can be used to crop.
resize
- Convert video to a different size.
- Nearest neighbor (point sampling)
- Choose the nearest source pixel. This results in the crispest video, but has sparkling and "chunkiness" problems. It is the fastest resampling mode and is useful for previews.
- Bilinear (triangle interpolation filter)
- Compute the desired pixel by linearly averaging the closest four source pixels. This gives a considerably better result than nearest neighbor, but results in a lot of blurring and gives diamond-shaped artifacts when enlarging. This is the resampling mode for most 3D texture mappers and interpolating video hardware overlays. High-ratio shrink operations (<~60% or so) will give aliasing with this mode and for those the precise bilinear mode should be used instead.
- Bicubic (cubic spline interpolation filter)
- Compute the desired pixel by fitting cubic spline curves to the closest 16 source pixels. This gives a sharper result than the bilinear filter, although when enlarging it results in a slight halo (ringing) around edges. High-ratio shrink operations (<~60% or so) will give aliasing with this mode and for those the precise bicubic mode should be used instead.
- Precise bilinear (triangle decimation filter)
- Compute the desired pixel by applying a triangle filter to the closest N source pixels, where N=4 for enlarging and N>4 for shrinking. This mode is the same as bilinear for enlargement but gives better results when shrinking.
- Precise bicubic (cubic spline decimation filter)
- Compute the desired pixel by applying a triangle filter to the closest N source pixels, where N=16 for enlarging and N>16 for shrinking. This mode is the same as bicubic for enlargement but gives better results when shrinking. Three different modes are given, A=-1.0, A=-.75, and A=-0.6. These vary the "stiffness" of the cubic spline and control the peaking of the filter, which perceptually alters the sharpness of the output. A=-0.6 gives the most consistent results mathematically, but the other modes may produce more visually pleasing results.
- Lanczos3 (three-lobed decimation filter)
- Compute the desired pixel by applying a three-lobed sinc filter to the closest N source pixels, where N=64 for enlarging and N>64 for shrinking. This produces slightly better results than the precise bicubic mode, at the expense of slower speed and more haloing (ringing). However, for a single pass the difference is very small and you should consider using precise bicubic instead.
Note | The new width and new height fields do not have to be integers — they can be fractional. VirtualDub will resize the video to that fractional size and then extend the borders to hit the next highest integer size in pixels. The means that exact aspect ratios can be maintained in the image content of a video even though the frame size is slightly off due to integral rounding. |
rotate
- Rotate video by right angles.
rotate2
- Rotate video by arbitrary angles.
While rotate2 can be used for right-angle rotations, that job should be left to rotate, which can do them faster and more accurately.
rotate2 is equivalent to a 1:1 texture-mapped quad, rotated around the center point of the quad by the designated angle, with linear or cubic spline interpolation filters applied to the texture mapping.
sharpen
- Make video crisper.
smoother
- Adaptively blur a video while trying to preserve edges.
temporal smoother
- Adaptively noise-reduce video across frames.
threshold
- Convert video to black and while by comparing against a threshold.
TV
- Blur or resample video in luma/chroma space.
warp resize
- Resize video using an edge-sensitive algorithm.