YomikoR / VapourSynth-Destripe

A descale wrapper fixing anime cross-conversion.
MIT License
8 stars 2 forks source link
vapoursynth

VapourSynth-Destripe

A descale wrapper for anime destriping.

Prerequisites

How it works

Some striped (aka cross-conversion, or 縞縞) anime artifacts are caused by improper upscaling by field. Destripe manually descales by field.

Usage

The first plane of the input clip will be internally converted to GRAY16 if fixing borders is requested, then GRAYS, and be processed. The output has the same format as the first plane of the input.

from destripe import Destripe

down = Destripe(clip clip[, int width=1280, int height=360, str kernel='bicubic', float b=0, float c=1/2, int taps=3, float[] src_left=[0, 0], float[] src_top=[0, 0], float[] src_width=[width, width], float[] src_height=[height, height], func fix_border_func=vs.core.edgefixer.Continuity, int[] fix_top=[0, 0], int[] fix_bottom=[0, 0], bool showdiff=False])

down, diff = Destripe(clip, ..., showdiff=True)

Parameters:

Notes:

Examples

In these examples clip already has its borders fixed before processing.

Example 1

down = Destripe(clip, 1280, 360, kernel='spline64', src_top=[1/6, 1/6])
up = core.resize.Spline64(down, 1920, 1080, src_top=1/3)

See the comparison.

Example 2

down = Destripe(clip, 1280, 360, kernel='bicubic', b=0, c=1/3, src_top=[1/12, -1/12])
up = core.resize.Bicubic(down, 1920, 1080, filter_param_a=0, filter_param_b=1/3)

See the comparison.

Related

Thanks

joletb, NiTr0gLiTcH, xyx98

License

MIT.