docs ¶
Classes:
-
ExampleBicubicKernel
–Example Kernel class for documentation purposes.
ExampleBicubicKernel ¶
Bases: Kernel
Example Kernel class for documentation purposes.
Methods:
-
descale
–Perform a regular descaling operation.
-
ensure_obj
–Ensure that the input is a scaler instance, resolving it if necessary.
-
from_param
–Resolve and return a scaler type from a given input (string, type, or instance).
-
get_descale_args
–Generate and normalize argument dictionary for a descale operation.
-
get_params_args
–Generate a base set of parameters to pass for scaling, descaling, or resampling.
-
get_resample_args
–Generate and normalize argument dictionary for a resample operation.
-
get_rescale_args
–Generate and normalize argument dictionary for a rescale operation.
-
get_scale_args
–Generate and normalize argument dictionary for a scale operation.
-
implemented_funcs
–Returns a set of function names that are implemented in the current class and the parent classes.
-
kernel_radius
–Return the effective kernel radius for the scaler.
-
pretty_string
–Cached property returning a user-friendly string representation.
-
resample
–Perform a regular resampling operation.
-
rescale
–Rescale a clip to the given resolution from a previously descaled clip.
-
scale
–Perform a regular scaling operation.
-
shift
–Apply a subpixel shift to the clip using the kernel's scaling logic.
-
supersample
–Supersample a clip by a given scaling factor.
Attributes:
-
b
– -
c
– -
descale_function
(Callable[..., ConstantFormatVideoNode]
) –Descale function called internally when performing descaling operations.
-
kwargs
(dict[str, Any]
) –Arguments passed to the implemented funcs or internal scale function.
-
resample_function
(Callable[..., ConstantFormatVideoNode]
) –Resample function called internally when performing resampling operations.
-
rescale_function
(Callable[..., ConstantFormatVideoNode]
) –Rescale function called internally when performing upscaling operations.
-
scale_function
(Callable[..., VideoNode]
) –Scale function called internally when performing scaling operations.
Source code in vskernels/docs.py
28 29 30 31 |
|
descale_function instance-attribute
¶
descale_function: Callable[..., ConstantFormatVideoNode]
Descale function called internally when performing descaling operations.
kwargs instance-attribute
¶
Arguments passed to the implemented funcs or internal scale function.
resample_function instance-attribute
¶
resample_function: Callable[..., ConstantFormatVideoNode]
Resample function called internally when performing resampling operations.
rescale_function instance-attribute
¶
rescale_function: Callable[..., ConstantFormatVideoNode]
Rescale function called internally when performing upscaling operations.
scale_function instance-attribute
¶
scale_function: Callable[..., VideoNode]
Scale function called internally when performing scaling operations.
descale ¶
descale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any
) -> ConstantFormatVideoNode
Perform a regular descaling operation.
Parameters:
-
clip
¶VideoNode
) –Input clip.
-
width
¶int | None
, default:None
) –Output width.
-
height
¶int | None
, default:None
) –Output height.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Shift clip during the operation. Expects a tuple of (src_top, src_left).
Returns:
-
ConstantFormatVideoNode
–The descaled clip.
Source code in vskernels/docs.py
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
|
ensure_obj classmethod
¶
ensure_obj(
scaler: str | type[Self] | Self | None = None,
/,
func_except: FuncExcept | None = None,
) -> Self
Ensure that the input is a scaler instance, resolving it if necessary.
Parameters:
-
scaler
¶str | type[Self] | Self | None
, default:None
) –Scaler identifier (string, class, or instance).
-
func_except
¶FuncExcept | None
, default:None
) –Function returned for custom error handling.
Returns:
-
Self
–Scaler instance.
Source code in vskernels/abstract/base.py
389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 |
|
from_param classmethod
¶
from_param(
scaler: str | type[Self] | Self | None = None,
/,
func_except: FuncExcept | None = None,
) -> type[Self]
Resolve and return a scaler type from a given input (string, type, or instance).
Parameters:
-
scaler
¶str | type[Self] | Self | None
, default:None
) –Scaler identifier (string, class, or instance).
-
func_except
¶FuncExcept | None
, default:None
) –Function returned for custom error handling.
Returns:
-
type[Self]
–Resolved scaler type.
Source code in vskernels/abstract/base.py
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 |
|
get_descale_args ¶
get_descale_args(
clip: VideoNode,
shift: tuple[TopShift, LeftShift] = (0, 0),
width: int | None = None,
height: int | None = None,
**kwargs: Any
) -> dict[str, Any]
Generate and normalize argument dictionary for a descale operation.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Vertical and horizontal shift to apply.
-
width
¶int | None
, default:None
) –Target width.
-
height
¶int | None
, default:None
) –Target height.
-
**kwargs
¶Any
, default:{}
) –Additional arguments to pass to the descale function.
Returns:
Source code in vskernels/abstract/base.py
940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 |
|
get_params_args ¶
get_params_args(
is_descale: bool,
clip: VideoNode,
width: int | None = None,
height: int | None = None,
**kwargs: Any
) -> dict[str, Any]
Generate a base set of parameters to pass for scaling, descaling, or resampling.
Parameters:
-
is_descale
¶bool
) –Whether this is for a descale operation.
-
clip
¶VideoNode
) –The source clip.
-
width
¶int | None
, default:None
) –Target width.
-
height
¶int | None
, default:None
) –Target height.
-
**kwargs
¶Any
, default:{}
) –Additional keyword arguments to include.
Returns:
Source code in vskernels/abstract/base.py
899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 |
|
get_resample_args ¶
get_resample_args(
clip: VideoNode,
format: int | VideoFormatLike | HoldsVideoFormat,
matrix: MatrixLike | None,
matrix_in: MatrixLike | None,
**kwargs: Any
) -> dict[str, Any]
Generate and normalize argument dictionary for a resample operation.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
format
¶int | VideoFormatLike | HoldsVideoFormat
) –The target video format, which can either be:
- an integer format ID,
- a
vs.PresetVideoFormat
orvs.VideoFormat
, - or a source from which a valid
VideoFormat
can be extracted.
-
matrix
¶MatrixLike | None
) –Target color matrix.
-
matrix_in
¶MatrixLike | None
) –Source color matrix.
-
**kwargs
¶Any
, default:{}
) –Additional arguments to pass to the resample function.
Returns:
Source code in vskernels/abstract/base.py
986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 |
|
get_rescale_args ¶
get_rescale_args(
clip: VideoNode,
shift: tuple[TopShift, LeftShift] = (0, 0),
width: int | None = None,
height: int | None = None,
**kwargs: Any
) -> dict[str, Any]
Generate and normalize argument dictionary for a rescale operation.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Vertical and horizontal shift to apply.
-
width
¶int | None
, default:None
) –Target width.
-
height
¶int | None
, default:None
) –Target height.
-
**kwargs
¶Any
, default:{}
) –Additional arguments to pass to the rescale function.
Returns:
Source code in vskernels/abstract/base.py
963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 |
|
get_scale_args ¶
get_scale_args(
clip: VideoNode,
shift: tuple[TopShift, LeftShift] = (0, 0),
width: int | None = None,
height: int | None = None,
**kwargs: Any
) -> dict[str, Any]
Generate and normalize argument dictionary for a scale operation.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Vertical and horizontal shift to apply.
-
width
¶int | None
, default:None
) –Target width.
-
height
¶int | None
, default:None
) –Target height.
-
**kwargs
¶Any
, default:{}
) –Additional arguments to pass to the scale function.
Returns:
Source code in vskernels/abstract/base.py
917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 |
|
implemented_funcs classmethod
¶
Returns a set of function names that are implemented in the current class and the parent classes.
These functions determine which keyword arguments will be extracted from the init method.
Returns:
Source code in vskernels/abstract/base.py
447 448 449 450 451 452 453 454 455 456 457 458 |
|
kernel_radius ¶
kernel_radius() -> int
Return the effective kernel radius for the scaler.
Raises:
-
CustomNotImplementedError
–If no kernel radius is defined.
Returns:
-
int
–Kernel radius.
Source code in vskernels/abstract/base.py
410 411 412 413 414 415 416 417 418 419 420 421 |
|
pretty_string ¶
pretty_string() -> str
Cached property returning a user-friendly string representation.
Returns:
-
str
–Pretty-printed string with arguments.
Source code in vskernels/abstract/base.py
437 438 439 440 441 442 443 444 445 |
|
resample ¶
resample(
clip: VideoNode,
format: int | VideoFormatLike | HoldsVideoFormat,
matrix: MatrixLike | None = None,
matrix_in: MatrixLike | None = None,
**kwargs: Any
) -> ConstantFormatVideoNode
Perform a regular resampling operation.
Parameters:
-
clip
¶VideoNode
) –Input clip
-
format
¶int | VideoFormatLike | HoldsVideoFormat
) –Output format
-
matrix
¶MatrixLike | None
, default:None
) –Output matrix. If
None
, will take the matrix from the input clip's frameprops. -
matrix_in
¶MatrixLike | None
, default:None
) –Input matrix. If
None
, will take the matrix from the input clip's frameprops.
Returns:
-
ConstantFormatVideoNode
–Resampled clip.
Source code in vskernels/docs.py
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
|
rescale ¶
rescale(
clip: VideoNode,
width: int | None,
height: int | None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any
) -> ConstantFormatVideoNode
Rescale a clip to the given resolution from a previously descaled clip.
Keyword arguments passed during initialization are automatically injected here, unless explicitly overridden by the arguments provided at call time. Only arguments that match named parameters in this method are injected.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
width
¶int | None
) –Target scaled width (defaults to clip width if None).
-
height
¶int | None
) –Target scaled height (defaults to clip height if None).
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Subpixel shift (top, left) applied during scaling.
Returns:
-
ConstantFormatVideoNode
–The scaled clip.
Source code in vskernels/abstract/base.py
619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 |
|
scale ¶
scale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any
) -> VideoNode
Perform a regular scaling operation.
Parameters:
-
clip
¶VideoNode
) –Input clip.
-
width
¶int | None
, default:None
) –Output width.
-
height
¶int | None
, default:None
) –Output height.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Shift clip during the operation. Expects a tuple of (src_top, src_left).
Returns:
-
VideoNode
–The scaled clip.
Source code in vskernels/docs.py
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
|
shift ¶
shift(
clip: VideoNode,
shifts_or_top: float | tuple[float, float] | list[float],
shift_left: float | list[float] | None = None,
/,
**kwargs: Any,
) -> ConstantFormatVideoNode
Apply a subpixel shift to the clip using the kernel's scaling logic.
If a single float or tuple is provided, it is used uniformly. If a list is given, the shift is applied per plane.
Keyword arguments passed during initialization are automatically injected here, unless explicitly overridden by the arguments provided at call time. Only arguments that match named parameters in this method are injected.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
shifts_or_top
¶float | tuple[float, float] | list[float]
) –Either a single vertical shift, a (top, left) tuple, or a list of vertical shifts.
-
shift_left
¶float | list[float] | None
, default:None
) –Horizontal shift or list of horizontal shifts. Ignored if
shifts_or_top
is a tuple. -
**kwargs
¶Any
, default:{}
) –Additional arguments passed to the internal
scale
call.
Returns:
-
ConstantFormatVideoNode
–A new clip with the applied shift.
Raises:
-
VariableFormatError
–If the input clip has variable format.
-
CustomValueError
–If the input clip is GRAY but lists of shift has been passed.
Source code in vskernels/abstract/base.py
839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 |
|
supersample ¶
supersample(
clip: VideoNodeT,
rfactor: float = 2.0,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any
) -> VideoNodeT
Supersample a clip by a given scaling factor.
Keyword arguments passed during initialization are automatically injected here, unless explicitly overridden by the arguments provided at call time. Only arguments that match named parameters in this method are injected.
Parameters:
-
clip
¶VideoNodeT
) –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:
-
VideoNodeT
–The supersampled clip.
Source code in vskernels/abstract/base.py
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 |
|