Capture: Filtering

VirtualDub

VirtualDub help - Capture: Filtering

VirtualDub allows the incoming video to be filtered before it is compressed and written to disk. This requires a lot of CPU power to do reliably, but correcting, shrinking, and cleaning up the video before it is compressed can result in higher quality captures without requiring an additional post-process pass.

All capture filters are accessible through the Video menu. If the video display mode is set to Preview and preview acceleration is enabled, the post-filtered result can be seen on the preview display.

Capture format compatibility

Unlike the normal filter system, the capture filter system does not attempt to automatically convert video filters to accommodate filter stages. Care must be taken to choose a video format which is compatible with all of the filters you wish to use:

Format Crop Swap fields Noise reduction Vertical reduction Extend luma Filter chain
15-bit RGB YesYes Yes
16-bit RGB YesYes Yes
24-bit RGB YesYesYesYes Yes
32-bit RGB YesYesYesYes Yes
UYVY YesYesYesYesYesYes
YUY2 YesYesYesYesYesYes
YV16 YesYes YesYesYes
YV12 Yes YesYesYes
I420 Yes YesYesYes
IYUV Yes YesYesYes
YVU9 Yes YesYesYes
Y41P YesYes Yes Yes
Y8 YesYes Yes Yes

If a capture video filter is not compatible with the input format, it is automatically disabled. Note that compressed video formats are not supported at all — if the capture device outputs compressed data, no video filtering is possible at all.

Detailed description of capture filters

Cropping

Discards borders of the video, resulting in a smaller output video. If the video is letterboxed, applying cropping can improve performance as well as reduce output file sizes. It is nearly free if vertical reduction or RGB filtering is enabled.

The video format imposes restrictions on the alignment of the cropping boundaries. RGB formats can be cropped to pixel accuracy; YUY2/UYVY can only be cropped to the nearest even pixel boundary horizontally, and YV12/I420 to the nearest 2x2 pixel block.

Swap fields

Swaps even and odd scanlines within the image to correct for a video capture device that is assembling fields in reverse order. This affliction looks like a "raspy" effect in the image. Field swapping is a relatively fast operation.

Noise reduction

Applies a quick, first-order recursive filter to reduce the amount of noise within the image. This is a primitive noise reduction filter, but can be effective, particularly for light noise or videos with low motion. The amount of noise reduction is adjustable; higher thresholds produce more noise reduction at the cost of higher motion artifacts.

Vertical reduction

Reduces the vertical height of the captured video by one-half using either bilinear or bicubic resampling. This is useful if the additional vertical resolution is not required, but better image quality is desired than would be obtained by using the capture device's scaler, which often handles such a request by simply throwing away one of the fields (every other scanline). This option consumes a decent amount of CPU power and should be used with care; however, it can also significantly speed up subsequent video compression due to the smaller output image.

Note that vertical reduction causes fields to be blended together, which can cause ghosting artifacts due to motion within the image.

Extend luma black point

Compresses the luminance range of an image so that "superblack" levels from 0-15 are scaled to within the valid luminance range of 16-235, out of 0-255. These levels are ordinarily shown as red at the lower end of the histogram scale and would be clamped to black without this option. This is only useful if the capture format uses the YCbCr color space, as these values are already lost if RGB is used.

The transform is a straightforward linear mapping of the luminance values from [0, 235] to [16, 235], if extend luma white point is disabled, or [0, 255] to [16, 235] if that option is also enabled.

Extend luma white point

Compresses the luminance range of an image so that "superwhite" levels from 0-15 are scaled to within the valid luminance range of 16-235, out of 0-255. These levels are ordinarily shown as red at the upper end of the histogram scale and would be clamped to white without this option. This is only useful if the capture format uses the YCbCr color space, as these values are already lost if RGB is used. However, it can allow for recovery of very bright colors that would ordinarily white-out or become garish yellows due to signal overamplification.

The transform is a straightforward linear mapping of the luminance values from [16, 255] to [16, 235], if extend luma black point is disabled, or [0, 255] to [16, 235] if that option is also enabled.

Filters / Enable RGB Filtering

Pushes video through the normal VirtualDub video processing filter chain. Nearly all video filters can be used here; however, the temporal smoother should be avoided as it has a frame lag, which is not supported in capture mode.

Normal video filters can consume significant CPU power and should be used carefully. In particular, if the incoming video format is not supported by a filter, VirtualDub may be forced to convert to a different format before running the filter.

By default, the output of the filter chain is converted to 24-bit RGB before being written to disk or passed through the video compressor. Enabling the Skip 24-bit Conversion option causes the output of the last filter to be used directly, avoiding this conversion.