DotKill
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
- [x86]: AviSynth+ or AviSynth 2.6.0
- [x64]: AviSynth+
- Supported color formats: YV12, YV16, YV24, YV411
- AviSynth+: All planar YUV formats (8/10/12/14/16-bits) are supported.
- *** 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.
- clip =
- 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.
- int iterations = 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.
- clip =
- 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 order = 1
- 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 offset = 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.
- clip =
- 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 order = 1
- 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 offset = 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 dupthresh = 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.
- int tratio = 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.
- bool show = false
Examples
- DotKillS with default settings:
DotKillS(iterations=1)
- DotKillZ with default settings:
DotKillZ(order=0, offset=0)
- DotKillT with default settings:
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
Back to External Filters ←