deinterlacers ¶
Classes:
-
AntiAliaser–Abstract base class for anti-aliasing operations.
-
BWDIF–Motion adaptive deinterlacing based on yadif with the use of w3fdif and cubic interpolation algorithms.
-
Deinterlacer–Abstract base class for deinterlacing operations.
-
EEDI3–Enhanced Edge Directed Interpolation (3rd gen.)
-
NNEDI3–Neural Network Edge Directed Interpolation (3rd gen.)
-
SangNom–SangNom single field deinterlacer using edge-directed interpolation
-
SuperSampler–Abstract base class for supersampling operations.
-
SuperSamplerProcess–A utility SuperSampler class that applies a given function to a supersampled clip,
-
SupportsBobDeinterlace–Protocol for classes that support bob deinterlacing.
AntiAliaser dataclass ¶
Bases: Deinterlacer, ABC
Abstract base class for anti-aliasing operations.
Classes:
-
AADirection–Enum representing the direction(s) in which anti-aliasing should be applied.
Methods:
-
antialias–Apply anti-aliasing to the given clip.
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
-
transpose–Transpose the input clip by swapping its horizontal and vertical axes.
Attributes:
-
double_rate(bool) –Whether to double the FPS.
-
tff(bool | None) –The field order.
-
transpose_first(bool) –Transpose the clip before any operation.
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
transpose_first class-attribute instance-attribute ¶
transpose_first: bool = False
Transpose the clip before any operation.
AADirection ¶
Bases: IntFlag
Enum representing the direction(s) in which anti-aliasing should be applied.
Attributes:
-
BOTH–Apply anti-aliasing in both horizontal and vertical directions.
-
HORIZONTAL–Apply anti-aliasing in the horizontal direction.
-
VERTICAL–Apply anti-aliasing in the vertical direction.
BOTH class-attribute instance-attribute ¶
BOTH = VERTICAL | HORIZONTAL
Apply anti-aliasing in both horizontal and vertical directions.
antialias ¶
Apply anti-aliasing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(direction¶AADirection, default:BOTH) –Direction in which to apply anti-aliasing. Defaults to AADirection.BOTH.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Anti-aliased clip.
Source code in vsaa/deinterlacers.py
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | |
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
get_deint_args abstractmethod ¶
Retrieves arguments for deinterlacing processing.
Parameters:
Returns:
Source code in vsaa/deinterlacers.py
136 137 138 139 140 141 142 143 144 145 146 147 | |
transpose ¶
transpose(
clip: VideoNode, **kwargs: Any
) -> tuple[VideoNode, MutableMapping[str, VideoNode | None]]
Transpose the input clip by swapping its horizontal and vertical axes.
Parameters:
-
(clip¶VideoNode) –The input clip.
Returns:
-
tuple[VideoNode, MutableMapping[str, VideoNode | None]]–The transposed clip.
Source code in vsaa/deinterlacers.py
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | |
BWDIF dataclass ¶
BWDIF(
edeint: VideoNode | Deinterlacer | VSFunctionNoArgs | None = None,
*,
tff: bool | None = None,
double_rate: bool = True,
)
Bases: Deinterlacer
Motion adaptive deinterlacing based on yadif with the use of w3fdif and cubic interpolation algorithms.
Methods:
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
Attributes:
-
double_rate(bool) –Whether to double the FPS.
-
edeint(VideoNode | Deinterlacer | VSFunctionNoArgs | None) –Allows the specification of an external clip from which to take spatial predictions
-
tff(bool | None) –The field order.
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
edeint class-attribute instance-attribute ¶
edeint: VideoNode | Deinterlacer | VSFunctionNoArgs | None = None
Allows the specification of an external clip from which to take spatial predictions instead of having Bwdif use cubic interpolation.
This clip must be the same width, height, and colorspace as the input clip.
If using same rate output, this clip should have the same number of frames as the input. If using double rate output, this clip should have twice as many frames as the input.
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
get_deint_args ¶
Retrieves arguments for deinterlacing processing.
Parameters:
Returns:
Source code in vsaa/deinterlacers.py
900 901 | |
Deinterlacer dataclass ¶
Abstract base class for deinterlacing operations.
Methods:
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
Attributes:
-
double_rate(bool) –Whether to double the FPS.
-
tff(bool | None) –The field order.
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
get_deint_args abstractmethod ¶
Retrieves arguments for deinterlacing processing.
Parameters:
Returns:
Source code in vsaa/deinterlacers.py
136 137 138 139 140 141 142 143 144 145 146 147 | |
DeinterlacerKwargs ¶
DeinterlacerKwargs(deinterlacer: Deinterlacer)
A dict-like wrapper that syncs keys with a Deinterlacer instance.
- If a key matches an attribute of
deinterlacer, the value is set on the object instead of stored in the dict. - Otherwise, the pair is stored normally.
Attributes:
Source code in vsaa/deinterlacers.py
64 65 66 | |
EEDI3 dataclass ¶
EEDI3(
alpha: float = 0.2,
beta: float = 0.25,
gamma: float = 20.0,
nrad: int = 2,
mdis: int = 20,
hp: bool = False,
ucubic: Never = cast(Never, MISSING),
cost3: Never = cast(Never, MISSING),
vcheck: int = 2,
vthresh: tuple[float | None, float | None, float | None] | None = (
32.0,
64.0,
4.0,
),
sclip: VideoNode | Deinterlacer | VSFunctionNoArgs | None = None,
mclip: VideoNode | VSFunctionNoArgs | None = None,
backend: Backend = CPU,
*,
tff: bool | None = None,
double_rate: bool = True,
transpose_first: bool = False,
scaler: ComplexScalerLike = Catrom,
noshift: bool | Sequence[bool] = False,
)
Bases: SuperSampler
Enhanced Edge Directed Interpolation (3rd gen.)
Classes:
-
AADirection–Enum representing the direction(s) in which anti-aliasing should be applied.
-
Backend–Enum representing available backends on which to run the plugin.
Methods:
-
antialias–Apply anti-aliasing to the given clip.
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
-
kernel_radius– -
scale–Scale the given clip using super sampling method.
-
supersample–Supersample a clip by a given scaling factor.
-
transpose–Transpose the input clip by swapping its horizontal and vertical axes.
Attributes:
-
alpha(float) –Controls the weight given to connecting similar neighborhoods.
-
backend(Backend) –Set the backend to use for processing.
-
beta(float) –Controls the weight given to the vertical difference created by the interpolation.
-
cost3(Never) –Unused deprecated parameter.
-
double_rate(bool) –Whether to double the FPS.
-
gamma(float) –Penalizes changes in interpolation direction.
-
hp(bool) –Determines the type of search steps:
-
mclip(VideoNode | VSFunctionNoArgs | None) –A mask used to apply edge-directed interpolation only to specified pixels.
-
mdis(int) –Sets the maximum connection radius. The valid range is [1, 40].
-
noshift(bool | Sequence[bool]) –Disables sub-pixel shifting after supersampling.
-
nrad(int) –Sets the radius used for computing neighborhood similarity. The valid range is [0, 3].
-
scaler(ComplexScalerLike) –Scaler used for downscaling and shifting after supersampling.
-
sclip(VideoNode | Deinterlacer | VSFunctionNoArgs | None) –Provides additional control over the interpolation by using a reference clip.
-
tff(bool | None) –The field order.
-
transpose_first(bool) –Transpose the clip before any operation.
-
ucubic(Never) –Unused deprecated parameter.
-
vcheck(int) –Defines the reliability check level for the resulting interpolation. The possible values are:
-
vthresh(tuple[float | None, float | None, float | None] | None) –Sequence of three thresholds:
alpha class-attribute instance-attribute ¶
alpha: float = 0.2
Controls the weight given to connecting similar neighborhoods. It must be in the range [0, 1]. A larger value for alpha will connect more lines and edges. Increasing alpha prioritizes connecting similar regions, which can reduce artifacts but may lead to excessive connections.
backend class-attribute instance-attribute ¶
Set the backend to use for processing.
beta class-attribute instance-attribute ¶
beta: float = 0.25
Controls the weight given to the vertical difference created by the interpolation. It must also be in the range [0, 1], and the sum of alpha and beta must not exceed 1. A larger value for beta will reduce the number of connected lines and edges, making the result less directed by edges. At a value of 1.0, there will be no edge-directed interpolation at all.
cost3 class-attribute instance-attribute ¶
Unused deprecated parameter.
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
gamma class-attribute instance-attribute ¶
gamma: float = 20.0
Penalizes changes in interpolation direction. The larger the value of gamma, the smoother the interpolation field will be between two lines. The range for gamma is [0, ∞]. Increasing gamma results in a smoother interpolation between lines but may reduce the sharpness of edges.
If lines are not connecting properly, try increasing alpha and possibly decreasing beta/gamma. If unwanted artifacts occur, reduce alpha and consider increasing beta or gamma.
hp class-attribute instance-attribute ¶
hp: bool = False
Determines the type of search steps: - When hp=True, it uses half-pel search steps. - When hp=False, it uses full-pel search steps.
mclip class-attribute instance-attribute ¶
mclip: VideoNode | VSFunctionNoArgs | None = None
A mask used to apply edge-directed interpolation only to specified pixels. Pixels where the mask value is 0 will be interpolated using cubic linear or bicubic methods instead. The primary purpose of the mask is to reduce computational overhead by limiting edge-directed interpolation to certain pixels.
Only the VULKAN and CPU backends supports it.
mdis class-attribute instance-attribute ¶
mdis: int = 20
Sets the maximum connection radius. The valid range is [1, 40]. For example, with mdis=20, when interpolating the pixel at (50, 10) (x, y), the farthest connections allowed would be between (30, 9)/(70, 11) and (70, 9)/(30, 11). Larger values for mdis will allow connecting lines with smaller slopes, but this can also increase the chance of artifacts and slow down processing.
noshift class-attribute instance-attribute ¶
Disables sub-pixel shifting after supersampling.
bool: Applies to both luma and chroma.Sequence[bool]: First for luma, second for chroma.
nrad class-attribute instance-attribute ¶
nrad: int = 2
Sets the radius used for computing neighborhood similarity. The valid range is [0, 3]. A larger value for nrad will consider a wider neighborhood for similarity, which can improve edge connections but may also increase processing time.
scaler class-attribute instance-attribute ¶
scaler: ComplexScalerLike = Catrom
Scaler used for downscaling and shifting after supersampling.
sclip class-attribute instance-attribute ¶
sclip: VideoNode | Deinterlacer | VSFunctionNoArgs | None = None
Provides additional control over the interpolation by using a reference clip. If set to None, vertical cubic interpolation is used as a fallback method instead.
Passing a Deinterlacer object is only supported for pure deinterlacing.
transpose_first class-attribute instance-attribute ¶
transpose_first: bool = False
Transpose the clip before any operation.
ucubic class-attribute instance-attribute ¶
Unused deprecated parameter.
vcheck class-attribute instance-attribute ¶
vcheck: int = 2
Defines the reliability check level for the resulting interpolation. The possible values are: - 0: No reliability check - 1: Weak reliability check - 2: Medium reliability check - 3: Strong reliability check
vthresh class-attribute instance-attribute ¶
Sequence of three thresholds: - vthresh[0]: Used to calculate the reliability for the first difference. - vthresh[1]: Used for the second difference. - vthresh[2]: Controls the weighting of the interpolation direction.
AADirection ¶
Bases: IntFlag
Enum representing the direction(s) in which anti-aliasing should be applied.
Attributes:
-
BOTH–Apply anti-aliasing in both horizontal and vertical directions.
-
HORIZONTAL–Apply anti-aliasing in the horizontal direction.
-
VERTICAL–Apply anti-aliasing in the vertical direction.
BOTH class-attribute instance-attribute ¶
BOTH = VERTICAL | HORIZONTAL
Apply anti-aliasing in both horizontal and vertical directions.
Backend ¶
Bases: CustomStrEnum
Enum representing available backends on which to run the plugin.
Methods:
-
EEDI3–Applies the EEDI3 filter using the plugin associated with the selected backend.
-
EEDI3H–Applies the EEDI3H filter using the plugin associated with the selected backend.
-
from_param–Return the enum value from a parameter.
-
transpose–Transpose the input clip by swapping its horizontal and vertical axes.
-
value–
Attributes:
-
CPU–Pure CPU implementation
-
OPENCL–An OpenCL device
-
VULKAN–A Vulkan device
-
should_h(bool) –Whether the backend should run columns interpolating.
-
supports_h(bool) –Whether the backend supports columns interpolating.
-
supports_mclip(bool) –Whether the backend supports mclip.
EEDI3 ¶
EEDI3(
clip: VideoNode,
field: int,
*args: Any,
sclip: VideoNode | None = None,
mclip: VideoNode | None = None,
**kwargs: Any,
) -> VideoNode
Applies the EEDI3 filter using the plugin associated with the selected backend.
Source code in vsaa/deinterlacers.py
525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 | |
EEDI3H ¶
EEDI3H(
clip: VideoNode,
field: int,
*args: Any,
sclip: VideoNode | None = None,
mclip: VideoNode | None = None,
**kwargs: Any,
) -> VideoNode
Applies the EEDI3H filter using the plugin associated with the selected backend.
Source code in vsaa/deinterlacers.py
542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 | |
from_param classmethod ¶
from_param(value: Any, func_except: FuncExcept | None = None) -> Self
Return the enum value from a parameter.
Parameters:
-
(value¶Any) –Value to instantiate the enum class.
-
(func_except¶FuncExcept | None, default:None) –Exception function.
Returns:
-
Self–Enum value.
Raises:
-
NotFoundEnumValue–Variable not found in the given enum.
Source code in jetpytools/enums/base.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | |
transpose staticmethod ¶
transpose(
clip: VideoNode,
*,
sclip: VideoNode | None = None,
mclip: VideoNode | None = None,
**kwargs: Any,
) -> tuple[VideoNode, MutableMapping[str, VideoNode | None]]
Transpose the input clip by swapping its horizontal and vertical axes.
Source code in vsaa/deinterlacers.py
567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 | |
antialias ¶
Apply anti-aliasing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(direction¶AADirection, default:BOTH) –Direction in which to apply anti-aliasing. Defaults to AADirection.BOTH.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Anti-aliased clip.
Source code in vsaa/deinterlacers.py
753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 | |
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 | |
get_deint_args ¶
Retrieves arguments for deinterlacing processing.
Parameters:
Returns:
Source code in vsaa/deinterlacers.py
726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 | |
kernel_radius ¶
kernel_radius() -> int
Source code in vsaa/deinterlacers.py
683 684 685 | |
scale ¶
scale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Scale the given clip using super sampling method.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(width¶int | None, default:None) –Target width (defaults to clip width if None).
-
(height¶int | None, default:None) –Target height (defaults to clip height if None).
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the deinterlacing function.
Returns:
-
VideoNode–The scaled clip.
Source code in vsaa/deinterlacers.py
813 814 815 816 817 818 819 820 821 822 823 824 825 826 | |
supersample ¶
supersample(
clip: VideoNode,
rfactor: float = 2.0,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Supersample a clip by a given scaling factor.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(rfactor¶float, default:2.0) –Scaling factor for supersampling.
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the scale function.
Raises:
-
CustomValueError–If resulting resolution is non-positive.
Returns:
-
VideoNode–The supersampled clip.
Source code in vsaa/deinterlacers.py
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | |
transpose ¶
transpose(
clip: VideoNode,
*,
sclip: VideoNode | None = None,
mclip: VideoNode | None = None,
**kwargs: Any,
) -> tuple[VideoNode, MutableMapping[str, VideoNode | None]]
Transpose the input clip by swapping its horizontal and vertical axes.
Parameters:
-
(clip¶VideoNode) –The input clip.
Returns:
-
tuple[VideoNode, MutableMapping[str, VideoNode | None]]–The transposed clip.
Source code in vsaa/deinterlacers.py
797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 | |
NNEDI3 dataclass ¶
NNEDI3(
nsize: int = 0,
nns: int = 4,
qual: int = 2,
etype: int = 0,
pscrn: int = 4,
gpu: bool = False,
opencl: Never = cast(Never, MISSING),
*,
tff: bool | None = None,
double_rate: bool = True,
transpose_first: bool = False,
scaler: ComplexScalerLike = Catrom,
noshift: bool | Sequence[bool] = False,
)
Bases: SuperSampler
Neural Network Edge Directed Interpolation (3rd gen.)
More information
- https://github.com/sekrit-twc/znedi3
- https://github.com/HolyWu/VapourSynth-nnedi3vk
Classes:
-
AADirection–Enum representing the direction(s) in which anti-aliasing should be applied.
Methods:
-
antialias–Apply anti-aliasing to the given clip.
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
-
kernel_radius– -
scale–Scale the given clip using super sampling method.
-
supersample–Supersample a clip by a given scaling factor.
-
transpose–Transpose the input clip by swapping its horizontal and vertical axes.
Attributes:
-
double_rate(bool) –Whether to double the FPS.
-
etype(int) –The set of weights used in the predictor neural network. Possible values:
-
gpu(bool) –Enables the use of the Vulkan variant.
-
nns(int) –Number of neurons in the predictor neural network. Possible values:
-
noshift(bool | Sequence[bool]) –Disables sub-pixel shifting after supersampling.
-
nsize(int) –Size of the local neighbourhood around each pixel used by the predictor neural network.
-
opencl(Never) –Unused deprecated parameter.
-
pscrn(int) –The prescreener used to decide which pixels should be processed by the predictor neural network,
-
qual(int) –The number of different neural network predictions that are blended together to compute the final output value.
-
scaler(ComplexScalerLike) –Scaler used for downscaling and shifting after supersampling.
-
tff(bool | None) –The field order.
-
transpose_first(bool) –Transpose the clip before any operation.
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
etype class-attribute instance-attribute ¶
etype: int = 0
The set of weights used in the predictor neural network. Possible values: - 0: Weights trained to minimise absolute error. - 1: Weights trained to minimise squared error.
nns class-attribute instance-attribute ¶
nns: int = 4
Number of neurons in the predictor neural network. Possible values: - 0: 16 - 1: 32 - 2: 64 - 3: 128 - 4: 256
Wrapper default is 4, plugin default is 1.
noshift class-attribute instance-attribute ¶
Disables sub-pixel shifting after supersampling.
bool: Applies to both luma and chroma.Sequence[bool]: First for luma, second for chroma.
nsize class-attribute instance-attribute ¶
nsize: int = 0
Size of the local neighbourhood around each pixel used by the predictor neural network. Possible settings: - 0: 8x6 - 1: 16x6 - 2: 32x6 - 3: 48x6 - 4: 8x4 - 5: 16x4 - 6: 32x4
Wrapper default is 0, plugin default is 6.
opencl class-attribute instance-attribute ¶
Unused deprecated parameter.
pscrn class-attribute instance-attribute ¶
pscrn: int = 4
The prescreener used to decide which pixels should be processed by the predictor neural network, and which can be handled by simple cubic interpolation. Since most pixels can be handled by cubic interpolation, using the prescreener generally results in much faster processing. Possible values: - 0: No prescreening. No pixels will be processed with cubic interpolation. This is really slow. - 1: Old prescreener. - 2: New prescreener level 0. - 3: New prescreener level 1. - 4: New prescreener level 2.
Wrapper default is 4, plugin default is 2.
qual class-attribute instance-attribute ¶
qual: int = 2
The number of different neural network predictions that are blended together to compute the final output value. Each neural network was trained on a different set of training data. Blending the results of these different networks improves generalisation to unseen data. Possible values are 1 and 2.
Wrapper default is 2, plugin default is 1.
scaler class-attribute instance-attribute ¶
scaler: ComplexScalerLike = Catrom
Scaler used for downscaling and shifting after supersampling.
transpose_first class-attribute instance-attribute ¶
transpose_first: bool = False
Transpose the clip before any operation.
AADirection ¶
Bases: IntFlag
Enum representing the direction(s) in which anti-aliasing should be applied.
Attributes:
-
BOTH–Apply anti-aliasing in both horizontal and vertical directions.
-
HORIZONTAL–Apply anti-aliasing in the horizontal direction.
-
VERTICAL–Apply anti-aliasing in the vertical direction.
BOTH class-attribute instance-attribute ¶
BOTH = VERTICAL | HORIZONTAL
Apply anti-aliasing in both horizontal and vertical directions.
antialias ¶
Apply anti-aliasing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(direction¶AADirection, default:BOTH) –Direction in which to apply anti-aliasing. Defaults to AADirection.BOTH.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Anti-aliased clip.
Source code in vsaa/deinterlacers.py
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | |
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
get_deint_args ¶
Retrieves arguments for deinterlacing processing.
Parameters:
Returns:
Source code in vsaa/deinterlacers.py
473 474 475 476 477 478 479 480 | |
kernel_radius ¶
kernel_radius() -> int
Source code in vsaa/deinterlacers.py
461 462 463 464 465 466 467 468 469 470 471 | |
scale ¶
scale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Scale the given clip using super sampling method.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(width¶int | None, default:None) –Target width (defaults to clip width if None).
-
(height¶int | None, default:None) –Target height (defaults to clip height if None).
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the deinterlacing function.
Returns:
-
VideoNode–The scaled clip.
Source code in vsaa/deinterlacers.py
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | |
supersample ¶
supersample(
clip: VideoNode,
rfactor: float = 2.0,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Supersample a clip by a given scaling factor.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(rfactor¶float, default:2.0) –Scaling factor for supersampling.
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the scale function.
Raises:
-
CustomValueError–If resulting resolution is non-positive.
Returns:
-
VideoNode–The supersampled clip.
Source code in vsaa/deinterlacers.py
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | |
transpose ¶
transpose(
clip: VideoNode, **kwargs: Any
) -> tuple[VideoNode, MutableMapping[str, VideoNode | None]]
Transpose the input clip by swapping its horizontal and vertical axes.
Parameters:
-
(clip¶VideoNode) –The input clip.
Returns:
-
tuple[VideoNode, MutableMapping[str, VideoNode | None]]–The transposed clip.
Source code in vsaa/deinterlacers.py
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | |
SangNom dataclass ¶
SangNom(
aa: int | Sequence[int] | None = None,
*,
tff: bool | None = None,
double_rate: bool = True,
transpose_first: bool = False,
scaler: ComplexScalerLike = Catrom,
noshift: bool | Sequence[bool] = False,
)
Bases: SuperSampler
SangNom single field deinterlacer using edge-directed interpolation
Classes:
-
AADirection–Enum representing the direction(s) in which anti-aliasing should be applied.
Methods:
-
antialias–Apply anti-aliasing to the given clip.
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
-
scale–Scale the given clip using super sampling method.
-
supersample–Supersample a clip by a given scaling factor.
-
transpose–Transpose the input clip by swapping its horizontal and vertical axes.
Attributes:
-
aa(int | Sequence[int] | None) –The strength of luma anti-aliasing, applied to an 8-bit clip.
-
double_rate(bool) –Whether to double the FPS.
-
noshift(bool | Sequence[bool]) –Disables sub-pixel shifting after supersampling.
-
scaler(ComplexScalerLike) –Scaler used for downscaling and shifting after supersampling.
-
tff(bool | None) –The field order.
-
transpose_first(bool) –Transpose the clip before any operation.
aa class-attribute instance-attribute ¶
The strength of luma anti-aliasing, applied to an 8-bit clip. Must be an integer between 0 and 128, inclusive.
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
noshift class-attribute instance-attribute ¶
Disables sub-pixel shifting after supersampling.
bool: Applies to both luma and chroma.Sequence[bool]: First for luma, second for chroma.
scaler class-attribute instance-attribute ¶
scaler: ComplexScalerLike = Catrom
Scaler used for downscaling and shifting after supersampling.
transpose_first class-attribute instance-attribute ¶
transpose_first: bool = False
Transpose the clip before any operation.
AADirection ¶
Bases: IntFlag
Enum representing the direction(s) in which anti-aliasing should be applied.
Attributes:
-
BOTH–Apply anti-aliasing in both horizontal and vertical directions.
-
HORIZONTAL–Apply anti-aliasing in the horizontal direction.
-
VERTICAL–Apply anti-aliasing in the vertical direction.
BOTH class-attribute instance-attribute ¶
BOTH = VERTICAL | HORIZONTAL
Apply anti-aliasing in both horizontal and vertical directions.
antialias ¶
Apply anti-aliasing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(direction¶AADirection, default:BOTH) –Direction in which to apply anti-aliasing. Defaults to AADirection.BOTH.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Anti-aliased clip.
Source code in vsaa/deinterlacers.py
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | |
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
get_deint_args ¶
Retrieves arguments for deinterlacing processing.
Parameters:
Returns:
Source code in vsaa/deinterlacers.py
864 865 | |
scale ¶
scale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Scale the given clip using super sampling method.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(width¶int | None, default:None) –Target width (defaults to clip width if None).
-
(height¶int | None, default:None) –Target height (defaults to clip height if None).
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the deinterlacing function.
Returns:
-
VideoNode–The scaled clip.
Source code in vsaa/deinterlacers.py
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | |
supersample ¶
supersample(
clip: VideoNode,
rfactor: float = 2.0,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Supersample a clip by a given scaling factor.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(rfactor¶float, default:2.0) –Scaling factor for supersampling.
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the scale function.
Raises:
-
CustomValueError–If resulting resolution is non-positive.
Returns:
-
VideoNode–The supersampled clip.
Source code in vsaa/deinterlacers.py
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | |
transpose ¶
transpose(
clip: VideoNode, **kwargs: Any
) -> tuple[VideoNode, MutableMapping[str, VideoNode | None]]
Transpose the input clip by swapping its horizontal and vertical axes.
Parameters:
-
(clip¶VideoNode) –The input clip.
Returns:
-
tuple[VideoNode, MutableMapping[str, VideoNode | None]]–The transposed clip.
Source code in vsaa/deinterlacers.py
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | |
SuperSampler dataclass ¶
SuperSampler(
*,
tff: bool | None = None,
double_rate: bool = True,
transpose_first: bool = False,
scaler: ComplexScalerLike = Catrom,
noshift: bool | Sequence[bool] = False,
)
Bases: Scaler, AntiAliaser, ABC
Abstract base class for supersampling operations.
Classes:
-
AADirection–Enum representing the direction(s) in which anti-aliasing should be applied.
Methods:
-
antialias–Apply anti-aliasing to the given clip.
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
-
scale–Scale the given clip using super sampling method.
-
supersample–Supersample a clip by a given scaling factor.
-
transpose–Transpose the input clip by swapping its horizontal and vertical axes.
Attributes:
-
double_rate(bool) –Whether to double the FPS.
-
noshift(bool | Sequence[bool]) –Disables sub-pixel shifting after supersampling.
-
scaler(ComplexScalerLike) –Scaler used for downscaling and shifting after supersampling.
-
tff(bool | None) –The field order.
-
transpose_first(bool) –Transpose the clip before any operation.
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
noshift class-attribute instance-attribute ¶
Disables sub-pixel shifting after supersampling.
bool: Applies to both luma and chroma.Sequence[bool]: First for luma, second for chroma.
scaler class-attribute instance-attribute ¶
scaler: ComplexScalerLike = Catrom
Scaler used for downscaling and shifting after supersampling.
transpose_first class-attribute instance-attribute ¶
transpose_first: bool = False
Transpose the clip before any operation.
AADirection ¶
Bases: IntFlag
Enum representing the direction(s) in which anti-aliasing should be applied.
Attributes:
-
BOTH–Apply anti-aliasing in both horizontal and vertical directions.
-
HORIZONTAL–Apply anti-aliasing in the horizontal direction.
-
VERTICAL–Apply anti-aliasing in the vertical direction.
BOTH class-attribute instance-attribute ¶
BOTH = VERTICAL | HORIZONTAL
Apply anti-aliasing in both horizontal and vertical directions.
antialias ¶
Apply anti-aliasing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(direction¶AADirection, default:BOTH) –Direction in which to apply anti-aliasing. Defaults to AADirection.BOTH.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Anti-aliased clip.
Source code in vsaa/deinterlacers.py
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | |
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
get_deint_args abstractmethod ¶
Retrieves arguments for deinterlacing processing.
Parameters:
Returns:
Source code in vsaa/deinterlacers.py
136 137 138 139 140 141 142 143 144 145 146 147 | |
scale ¶
scale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Scale the given clip using super sampling method.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(width¶int | None, default:None) –Target width (defaults to clip width if None).
-
(height¶int | None, default:None) –Target height (defaults to clip height if None).
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the deinterlacing function.
Returns:
-
VideoNode–The scaled clip.
Source code in vsaa/deinterlacers.py
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | |
supersample ¶
supersample(
clip: VideoNode,
rfactor: float = 2.0,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Supersample a clip by a given scaling factor.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(rfactor¶float, default:2.0) –Scaling factor for supersampling.
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the scale function.
Raises:
-
CustomValueError–If resulting resolution is non-positive.
Returns:
-
VideoNode–The supersampled clip.
Source code in vsaa/deinterlacers.py
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | |
transpose ¶
transpose(
clip: VideoNode, **kwargs: Any
) -> tuple[VideoNode, MutableMapping[str, VideoNode | None]]
Transpose the input clip by swapping its horizontal and vertical axes.
Parameters:
-
(clip¶VideoNode) –The input clip.
Returns:
-
tuple[VideoNode, MutableMapping[str, VideoNode | None]]–The transposed clip.
Source code in vsaa/deinterlacers.py
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | |
SuperSamplerProcess ¶
SuperSamplerProcess(
*,
function: VSFunctionNoArgs,
noshift: bool | Sequence[bool] = True,
**kwargs: Any,
)
Bases: MixedScalerProcess[_SuperSamplerWithNNEDI3DefaultT, Point], _ConcreteSuperSampler
A utility SuperSampler class that applies a given function to a supersampled clip, then downsamples it back using Point.
If used without a specified scaler, it defaults to inheriting from NNEDI3.
Initialize the SuperSamplerProcess.
Note
Chroma planes will not align properly during processing. Avoid using this class if accurate chroma placement relative to luma is required.
Example:
processed = SuperSamplerProcess[NNEDI3](function=lambda clip: cool_function(clip, ...)).supersample(
src, rfactor=2
)
Parameters:
-
(function¶VSFunctionNoArgs) –A function to apply on the supersampled clip.
-
(noshift¶bool | Sequence[bool], default:True) –Disables sub-pixel shifting after supersampling.
bool: Applies to both luma and chroma.Sequence[bool]: First for luma, second for chroma.
-
(**kwargs¶Any, default:{}) –Additional arguments to the specialized SuperSampler.
Classes:
-
AADirection–Enum representing the direction(s) in which anti-aliasing should be applied.
Methods:
-
antialias–Apply anti-aliasing to the given clip.
-
bob–Apply bob deinterlacing to the given clip.
-
copy–Returns a new Antialiaser class replacing specified fields with new values
-
deinterlace–Apply deinterlacing to the given clip.
-
get_deint_args–Retrieves arguments for deinterlacing processing.
-
scale–Scale the given clip using super sampling method.
-
supersample–Supersample a clip by a given scaling factor.
-
transpose–Transpose the input clip by swapping its horizontal and vertical axes.
Attributes:
-
default_scaler– -
double_rate(bool) –Whether to double the FPS.
-
noshift(bool | Sequence[bool]) –Disables sub-pixel shifting after supersampling.
-
scaler(ComplexScalerLike) –Scaler used for downscaling and shifting after supersampling.
-
tff(bool | None) –The field order.
-
transpose_first(bool) –Transpose the clip before any operation.
Source code in vsaa/deinterlacers.py
948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 | |
double_rate class-attribute instance-attribute ¶
double_rate: bool = True
Whether to double the FPS.
noshift class-attribute instance-attribute ¶
Disables sub-pixel shifting after supersampling.
bool: Applies to both luma and chroma.Sequence[bool]: First for luma, second for chroma.
scaler class-attribute instance-attribute ¶
scaler: ComplexScalerLike = Catrom
Scaler used for downscaling and shifting after supersampling.
transpose_first class-attribute instance-attribute ¶
transpose_first: bool = False
Transpose the clip before any operation.
AADirection ¶
Bases: IntFlag
Enum representing the direction(s) in which anti-aliasing should be applied.
Attributes:
-
BOTH–Apply anti-aliasing in both horizontal and vertical directions.
-
HORIZONTAL–Apply anti-aliasing in the horizontal direction.
-
VERTICAL–Apply anti-aliasing in the vertical direction.
BOTH class-attribute instance-attribute ¶
BOTH = VERTICAL | HORIZONTAL
Apply anti-aliasing in both horizontal and vertical directions.
antialias ¶
Apply anti-aliasing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(direction¶AADirection, default:BOTH) –Direction in which to apply anti-aliasing. Defaults to AADirection.BOTH.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Anti-aliased clip.
Source code in vsaa/deinterlacers.py
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | |
bob ¶
Apply bob deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
copy ¶
Returns a new Antialiaser class replacing specified fields with new values
Source code in vsaa/deinterlacers.py
130 131 132 133 134 | |
deinterlace ¶
deinterlace(
clip: VideoNode,
*,
tff: FieldBasedLike | bool | None = None,
double_rate: bool | None = None,
**kwargs: Any,
) -> VideoNode
Apply deinterlacing to the given clip.
Parameters:
-
(clip¶VideoNode) –The input clip.
-
(tff¶FieldBasedLike | bool | None, default:None) –Field order of the clip.
-
(double_rate¶bool | None, default:None) –Whether to double the frame rate (True) or retain the original rate (False).
-
(**kwargs¶Any, default:{}) –Additional arguments passed to the plugin function.
Returns:
-
VideoNode–Deinterlaced clip.
Source code in vsaa/deinterlacers.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
get_deint_args ¶
scale ¶
scale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Scale the given clip using super sampling method.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(width¶int | None, default:None) –Target width (defaults to clip width if None).
-
(height¶int | None, default:None) –Target height (defaults to clip height if None).
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the deinterlacing function.
Returns:
-
VideoNode–The scaled clip.
Source code in vsaa/deinterlacers.py
974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 | |
supersample ¶
supersample(
clip: VideoNode,
rfactor: float = 2.0,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any,
) -> VideoNode
Supersample a clip by a given scaling factor.
Note: Setting tff=True results in less chroma shift for non-centered chroma locations.
Parameters:
-
(clip¶VideoNode) –The source clip.
-
(rfactor¶float, default:2.0) –Scaling factor for supersampling.
-
(shift¶tuple[TopShift, LeftShift], default:(0, 0)) –Subpixel shift (top, left) applied during scaling.
-
(**kwargs¶Any, default:{}) –Additional arguments forwarded to the scale function.
Raises:
-
CustomValueError–If resulting resolution is non-positive.
Returns:
-
VideoNode–The supersampled clip.
Source code in vsaa/deinterlacers.py
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | |
transpose ¶
transpose(
clip: VideoNode, **kwargs: Any
) -> tuple[VideoNode, MutableMapping[str, VideoNode | None]]
Transpose the input clip by swapping its horizontal and vertical axes.
Parameters:
-
(clip¶VideoNode) –The input clip.
Returns:
-
tuple[VideoNode, MutableMapping[str, VideoNode | None]]–The transposed clip.
Source code in vsaa/deinterlacers.py
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | |