Functions and Methods

Functions

class vskernels.kernels.get_kernel(name)

Get a kernel by name.

Parameters

name (str) – Kernel name.

Return type

Type[Kernel]

Returns

Kernel class.

Raises

UnknownKernelError – Some kind of unknown error occured.

class vskernels.kernels.get_all_kernels

Get all kernels as a list.

Return type

List[Type[Kernel]]

Methods

Every Kernel class comes with a set of methods:

class vskernels.kernels.Example.scale(self, clip, width, height, shift=(0, 0))

Perform a regular scaling operation.

Parameters
  • clip (VideoNode) – Input clip

  • width (int) – Output width

  • height (int) – Output height

  • shift (Tuple[float, float]) – Shift clip during the operation. Expects a tuple of (src_top, src_left).

Return type

VideoNode

class vskernels.kernels.Example.descale(self, clip, width, height, shift=(0, 0))

Perform a regular descaling operation.

Parameters
  • clip (VideoNode) – Input clip

  • width (int) – Output width

  • height (int) – Output height

  • shift (Tuple[float, float]) – Shift clip during the operation. Expects a tuple of (src_top, src_left).

Return type

VideoNode

class vskernels.kernels.Example.shift(self, clip, shift=(0, 0))

Perform a regular shifting operation.

Parameters
  • clip (VideoNode) – Input clip

  • shift (Tuple[float, float]) – Shift clip during the operation. Expects a tuple of (src_top, src_left).

Return type

VideoNode

class vskernels.kernels.Example.resample(self, clip, format, matrix=None, matrix_in=None)

Perform a regular resampling operation.

Parameters
  • clip (vs.VideoNode) – Input clip

  • format (vs.PresetFormat | vs.VideoFormat) – Output format

  • matrix (vs.MatrixCoefficients | Matrix | None) – Output matrix. If None, will take the matrix from the input clip’s frameprops.

  • matrix_in (vs.MatrixCoefficients | Matrix | None) – Input matrix. If None, will take the matrix from the input clip’s frameprops.

Return type

VideoNode

All Available Kernels

class vskernels.kernels.BSpline(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=1, c=0

class vskernels.kernels.Bessel(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Bessel kernel.

class vskernels.kernels.Bicubic(b=0, c=0.5, **kwargs)

Bases: vskernels.kernels.Kernel

Built-in bicubic resizer.

Default: b=0, c=0.5

Dependencies:

  • VapourSynth-descale

Parameters
  • b (float) – B-param for bicubic kernel

  • c (float) – C-param for bicubic kernel

class vskernels.kernels.BicubicDidee(**kwargs)

Bases: vskernels.kernels.Bicubic

Kernel inspired by a Didée post.

See this doom9 post for further information.

Bicubic b=-0.5, c=0.25

This is useful for downscaling content, but might not help much with upscaling.

class vskernels.kernels.BicubicDogWay(**kwargs)

Bases: vskernels.kernels.Bicubic

Kernel inspired by DogWay.

Bicubic b=-0.6, c=0.4

This is useful for downscaling content with ringing.

class vskernels.kernels.BicubicSharp(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=0, c=1

class vskernels.kernels.Bilinear(**kwargs)

Bases: vskernels.kernels.Kernel

Built-in bilinear resizer.

class vskernels.kernels.BlackHarris(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Black-Harris kernel.

class vskernels.kernels.BlackMan(taps=4, **kwargs)

Bases: vskernels.kernels.FmtConv

fmtconv’s blackman resizer.

class vskernels.kernels.BlackManMinLobe(taps=4, **kwargs)

Bases: vskernels.kernels.FmtConv

fmtconv’s blackmanminlobe resizer.

class vskernels.kernels.BlackNuttall(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

BlackNuttall kernel.

class vskernels.kernels.Bohman(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Bohman kernel.

class vskernels.kernels.Box(taps=4, **kwargs)

Bases: vskernels.kernels.FmtConv

fmtconv’s box resizer.

class vskernels.kernels.Catrom(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=0, c=0.5

class vskernels.kernels.Cosine(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Cosine kernel.

class vskernels.kernels.FlatTop(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

FlatTop kernel.

class vskernels.kernels.FmtConv(taps=4, **kwargs)

Bases: vskernels.kernels.Kernel

Abstract fmtconv’s resizer.

Dependencies:

  • fmtconv

class vskernels.kernels.Gaussian(curve=30, **kwargs)

Bases: vskernels.kernels.FmtConv

fmtconv’s gaussian resizer.

class vskernels.kernels.Ginseng(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Ginseng kernel.

class vskernels.kernels.Hamming(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Hamming kernel.

class vskernels.kernels.Hann(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Hann kernel.

class vskernels.kernels.Hermite(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=0, c=0

class vskernels.kernels.Impulse(impulse, oversample=8, taps=1, **kwargs)

Bases: vskernels.kernels.FmtConv

fmtconv’s impulse resizer.

class vskernels.kernels.Kaiser(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Kaiser kernel.

class vskernels.kernels.Kernel(**kwargs)

Bases: abc.ABC

Abstract scaling kernel interface.

Additional kwargs supplied to constructor are passed only to the internal resizer, not the descale resizer.

kwargs: Dict[str, Any]

Arguments passed to the kernel filter

class vskernels.kernels.Lanczos(taps=3, **kwargs)

Bases: vskernels.kernels.Kernel

Built-in lanczos resizer.

Dependencies:

  • VapourSynth-descale

Parameters

taps (int) – taps param for lanczos kernel

class vskernels.kernels.MinSide(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

MinSide kernel.

class vskernels.kernels.Mitchell(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=1/3, c=1/3

class vskernels.kernels.NearestNeighbour(**kwargs)

Bases: vskernels.kernels.Gaussian

Nearest Neighbour kernel.

class vskernels.kernels.Parzen(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Parzen kernel.

class vskernels.kernels.Point(**kwargs)

Bases: vskernels.kernels.Kernel

Built-in point resizer.

class vskernels.kernels.Quadratic(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Quadratic kernel.

class vskernels.kernels.Robidoux(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=0.37822, c=0.31089

class vskernels.kernels.RobidouxSharp(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=0.26201, c=0.36899

class vskernels.kernels.RobidouxSoft(**kwargs)

Bases: vskernels.kernels.Bicubic

Bicubic b=0.67962, c=0.16019

class vskernels.kernels.Sinc(taps=4, **kwargs)

Bases: vskernels.kernels.FmtConv

fmtconv’s sinc resizer.

class vskernels.kernels.Spline16(**kwargs)

Bases: vskernels.kernels.Kernel

Built-in spline16 resizer.

Dependencies:

  • VapourSynth-descale

class vskernels.kernels.Spline36(**kwargs)

Bases: vskernels.kernels.Kernel

Built-in spline36 resizer.

Dependencies:

  • VapourSynth-descale

class vskernels.kernels.Spline64(**kwargs)

Bases: vskernels.kernels.Kernel

Built-in spline64 resizer.

Dependencies:

  • VapourSynth-descale

class vskernels.kernels.Welch(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Welch kernel.

class vskernels.kernels.Wiener(oversample, **kwargs)

Bases: vskernels.kernels.Impulse

Wiener kernel.