Dup Filter for Avisynth
(Legacy Version for Avisynth 2.0x)

This plugin for Avisynth implements a robust duplicate frame detector. It is initially intended as a test bed for a new frame differencing algorithm, but to make it a useful filter in its own right, a copy feature has been implemented, whereby a frame that is determined to be close enough to its predecessor to be considered a duplicate will be replaced by a copy of the predecessor. This can significantly reduce the size of encoded clips with virtually no visual effect. It's a free lunch! ('Marc FD' first implemented this copying functionality.)

You can configure the percentage difference at which a duplicate is declared. This gives you control over the extent of frame duplication, and therefore of amount of bitrate reduction.

The filter provides a debug mode that eases configuration and makes it easy to see what the filter is deciding. Here is an example of this mode in action:

The filter currently requires YUY2 input. It is not yet optimized for speed. Optimizations will be included in a future version.

The justification for the filter is simple. Many duplicate detectors are incapable of adapting to changes in the luminance levels of the various scenes in a clip, and they are badly affected by noise. They have delicate absolute thresholds that must be set by the user. This filter attempts to solve all of these problems.

Version 1.4 [Source code]

Version 1.4 fixes a crashing bug resulting when the frame dimensions are not a multiple of 32 and the box drawn by show=true is partially off the frame. This is the last version of this filter for Avisynth 2.0x. Future version will require Avisynth 2.5 and beyond.

Version 1.3 was not released.

Version 1.2 fixes a bug that caused overflow of the Avisynth stack in some circumstances.

Version 1.1 improves the detection algorithm, fixes problems detecting changes near the frame borders, improves the speed, and shortens overlaid strings to prevent wrap around.

Version 1.0 was the first released version.

Copyright (C) 2002, Donald A. Graft, All Rights Reserved.
Feedback/inquiries to neuron2@attbi.com.

[up to home page]