Decomb Plugin for Avisynth |
IntroductionThis package of plugin functions for Avisynth provides the means for removing combing artifacts from telecined progressive streams, interlaced streams, and mixtures thereof. Functions can be combined to implement inverse telecine (IVTC) for both NTSC and PAL streams.The term "combing" is used as a general term versus "interlacing" because interlacing is usually associated with nonprogressive streams. What look like interlacing artifacts can be seen on telecined progressive streams, so I use the term combing to refer to all such artifacts, regardless of the type of the stream. The package automatically adapts to any telecine/capture patterns, e.g., 3:2 NTSC or 1:1 PAL, and mixtures thereof, although if you want to decimate the recovered progressive stream, you have to specify the desired decimation ratio. The recovery process is completely modeless (patternless) and does not rely on any fixed telecine patterns or phasing. None of the functions introduce a delay in the audio or video streams. For most applications, there are no parameters to set. Some capture cards require a field swap after the recovery process and the Telecide function allows this to be specified. The algorithm is an adaptive one that operates in three steps:
I'd like to thank Thomas Daniel for his valuable assistance during the development of this software. He made several valuable suggestions, pointed out useful resources, performed torture testing on very difficult streams, ran head-to-head tests against other available decombing software, and helped me to understand the world of anime. Members of the forum at doom9.org provided much help and encouragment. Usage guidelines and syntax descriptions are provided in the help file contained in the distribution ZIP file. Note that this version of Decomb requires Avisynth version 2.5 or greater! It will not work with earlier versions. This version of Decomb supports both YUY2 and YV12 color spaces. The latest release of Decomb is version 5. This version significantly changes the interface and functionality. For those users that remain more comfortable with version 4, I have retained links to that version. But I recommend upgrading and learning the new interface!
Version 4.10 beta 4 [Source code] Version 5.2.4 is now compatible with Avisynth 2.6. Version 5.2.3 corrects deficiencies in Decimate's mode=2 operation. Version 5.2.2 removes Telecide's order parameter. The field order is now picked up from Avisynth. Refer to the Decomb reference manual for details. Version 5.2.1 modifies Decimate(). Modes 0, 1, and 3 now use the same windowed comparisons as does mode 2. Windowed comparisons produce more accurate and reliable decimation. Version 5.1.1 properly restores the multimedia state (emms opcodes). This fixes some instances of green frames, etc. Version 5.1.0 adds a separate threshold for backward matching. It also adds low-level speedups and an IsCombed() utility function, both contributed by Klaus Post. Version 5.0.0 is a major rewrite, so describing the changes and improvements here would be tedious. Please refer to the extensive documentation included with the new release. Version 4.10 beta 4 fixes several problems in Telecide/Decimate hinting that affected Decimate's mode=1 and mode=3 behavior. Version 4.10 beta 2 makes the following changes:
Version 4.06 beta 7 improves the speed of Telecide() for YV12, and relaxes the width restriction from multiple of 4 to multiple of 2. Version 4.06 beta 6 fixes FieldDeinterlace(chroma=true), which produced artifacts. |