DotKill

From Avisynth wiki
Jump to: navigation, search
Abstract
Author Asd-g
Version v1.0.0
Download DotKill-1.0.0.7z
Category Rainbow & Dot Crawl Removal
License MIT
Discussion Doom9 Thread (VapourSynth)

Contents

Description

DotKill is a spatio-temporal dotcrawl and rainbow remover for AviSynth/AviSynth+.

This is a port of the VapourSynth plugin DotKill.


Requirements


*** vcredist_x86.exe is required for DotKill-x86
*** vcredist_x64.exe is required for DotKill-x64


Syntax and Parameters

DotKillS

A purely spatial dotcrawl remover that can be safely used on most material after field matching.


DotKillS (clip input, int "iterations")


clip   =
A clip to process. It must be in YUV 8..16-bit planar format.


int  iterations = 1
The number of times to apply the internal filter.
Usally a number between 1 and 4 will have the best results and using too high values may cause artifacting.
Must be greater than or equal to 1. Default: 1.



DotKillZ

A pseudo-spatial dotcrawl and rainbow remover. It only works on NTSC content with rainbows added after 3:2 pulldown. This is true most of the time for anime.

Note that due to its nature only every other final frame will have dotcrawl and rainbows removed. Typically never artifacts if all requirements are met.


DotKillZ (clip input, int "order", int "offset")


clip   =
A clip to process. It must be in YUV 8..16-bit planar format.


int  order = 1
Field order.
Usually 0, note that 1 hasn't been tested due to a lack of test material.
Must be either 0 or 1.
Default: 0.


int  offset = 0
The cycle offset for the pulldown pattern.
Must be between 0 and 4.
Can only be determined by trial and error.
Default: 0.



DotKillT

A full spatio-temporal dotcrawl and rainbow remover. It only works on NTSC content with rainbows added after 3:2 pulldown. This is true most of the time for anime.

May produce extreme artifacting if dupthresh is set too high.


DotKillT (clip input, int "order", int "offset", int "dupthresh", int "tratio", bool "show")


clip   =
A clip to process. It must be in YUV 8..16-bit planar format.


int  order = 1
Field order.
Usually 0, note that 1 hasn't been tested due to a lack of test material.
Must be either 0 or 1.
Default: 0.


int  offset = 0
The cycle offset for the pulldown pattern.
Must be between 0 and 4.
Can only be determined by trial and error.
Default: 0.


int  dupthresh = 64
The threshold for determining if a block has changed between fields.
Depending on the source material 32-128 are usually reasonable values.
A value of 0 makes the function identical to DotKillZ.
Must be between 0 and 255.
Default: 64.


int  tratio = 3
If more than 1/tratio blocks have changed between fields then temporal filtering won't be considered in that direction.
Higher values can make high motion sections less likely to artifact.
Default: 3.


bool  show = false
Shows which blocks have been determined to contain no change between fields and therefore will be blended to reduce artifacts.
White square means that it will blend with the next frame and black square the previous.
Default: False.



Examples

DotKillS(iterations=1)


DotKillZ(order=0, offset=0)


DotKillZ(order=0, offset=0, dupthresh=64, tratio=3, show=false)


Usage

Wrong offset produces blended frames, correct offset must be determined for each source.

DotKillT(offset=1, dupthresh=64)
TFM()
DotKillS(iterations=4)
TDecimate()



Changelog

Version      Date            Changes
1.0.0 2021/05/04 - Initial release.



External Links

  • GitHub - Source code repository (AviSynth)
  • GitHub - Source code repository (VapourSynth)




Back to External Filters


Personal tools