Skip to content

dubhater/vapoursynth-tcomb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

TComb is a temporal comb filter (it reduces rainbowing and dot crawl artifacts in static areas of the picture). It will ONLY work with NTSC material, and WILL NOT work with telecined material where the rainbowing/dotcrawl was introduced prior to the telecine process! It must be used before ivtc or deinterlace.

Usage

tcomb.TComb(clip clip[, int mode=2, int fthreshl=4, fthreshc=5, othreshl=5, othreshc=6, bint map=False, float scthresh=12.0])
Parameters:
clip
Clip to process. Must be 8 bit Gray or YUV with constant format and dimensions.
mode
  • 0 - process luma only (remove dotcrawl)
  • 1 - process chroma only (remove rainbows)
  • 2 - process both

fthreshl

fthreshc

Filtered pixel correlation thresholds.

One of the things TComb checks for is correlation between filtered values over the length of the filtering window. If all values differ by less than fthreshl (for luma) or fthreshc (for chroma) then the filtered values are considered to be correlated. Larger values will allow more filtering (will be more effective at removing rainbowing/dot crawl), but will also create more artifacts. A good range of values is between 4 and 7.

othreshl

othreshc

Original pixel correlation thresholds.

One of the things TComb checks for is correlation between original pixel values from every other field of the same parity. Due to the oscillation period, these values should be equal or very similar in static areas containing dot crawl or rainbowing. If the pixel values differ by less than othreshl (for luma) or othreshc (for chroma) then the pixels are considered to be correlated. Larger values will allow more filtering (will be more effective at removing rainbowing/dotcrawl), but will also create more artifacts. A good range of values is between 4 and 8.

map

Instead of filtering the image, shows which pixels would get filtered and how.

Each pixel in the output frame will have one of the following values indicating how it is being filtered:

  • 0 - not being filtered
  • 85 - [1 2 1] average of (n,n+1,n+2)
  • 170 - [1 2 1] average of (n-2,n-1,n)
  • 255 - [1 2 1] average of (n-1,n,n+1)

n = current frame

scthresh

Scene change threshold.

Sets the scenechange detection threshold as a percentage of maximum change on the luma plane.

Compilation

meson build
ninja -C build

Or:

./autogen.sh
./configure
make

License

GPL 2, like the Avisynth filter.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published