util ¶
Classes:
-
LinearLight
–Utility class for processing a clip in linear format.
-
NoScale
–A utility scaler class that performs no scaling on the input clip.
Functions:
LinearLight dataclass
¶
LinearLight(
clip: VideoNode,
sigmoid: bool | tuple[Slope, Center] = False,
resampler: ResamplerLike = Catrom,
out_fmt: int | VideoFormatT | HoldsVideoFormatT | None = None,
)
Bases: AbstractContextManager[LinearLightProcessing]
, vs_object
Utility class for processing a clip in linear format.
Usage:
with LinearLight(clip, ...) as ll:
ll.linear = function(ll.linear, ...)
out = ll.out
Methods:
-
from_func
–Decorator version of LinearLight.
Attributes:
-
clip
(VideoNode
) –Input clip.
-
out_fmt
(int | VideoFormatT | HoldsVideoFormatT | None
) –Optional output format.
-
resampler
(ResamplerLike
) –Resampler for converting to linear format and converting back to input clip format.
-
sigmoid
(bool | tuple[Slope, Center]
) –Whether to use sigmoid transfer curve. Can be True, False, or a tuple of (slope, center).
out_fmt class-attribute
instance-attribute
¶
out_fmt: int | VideoFormatT | HoldsVideoFormatT | None = None
Optional output format.
resampler class-attribute
instance-attribute
¶
resampler: ResamplerLike = Catrom
Resampler for converting to linear format and converting back to input clip format.
sigmoid class-attribute
instance-attribute
¶
Whether to use sigmoid transfer curve. Can be True, False, or a tuple of (slope, center). True
applies the defaults values (6.5, 0.75). Keep in mind sigmoid slope has to be in range 1.0-20.0. (inclusive) and sigmoid center has to be in range 0.0-1.0 (inclusive).
from_func classmethod
¶
from_func(
func: Callable[Concatenate[VideoNode, P], VideoNode],
/,
sigmoid: bool | tuple[Slope, Center] = False,
resampler: ResamplerLike = Catrom,
out_fmt: int | VideoFormatT | HoldsVideoFormatT | None = None,
) -> Callable[Concatenate[VideoNode, P], VideoNode]
from_func(
*,
sigmoid: bool | tuple[Slope, Center] = False,
resampler: ResamplerLike = Catrom,
out_fmt: int | VideoFormatT | HoldsVideoFormatT | None = None
) -> Callable[
[Callable[Concatenate[VideoNode, P], VideoNode]],
Callable[Concatenate[VideoNode, P], VideoNode],
]
from_func(
func: Callable[Concatenate[VideoNode, P], VideoNode] | None = None,
/,
sigmoid: bool | tuple[Slope, Center] = False,
resampler: ResamplerLike = Catrom,
out_fmt: int | VideoFormatT | HoldsVideoFormatT | None = None,
) -> Union[
Callable[Concatenate[VideoNode, P], VideoNode],
Callable[
[Callable[Concatenate[VideoNode, P], VideoNode]],
Callable[Concatenate[VideoNode, P], VideoNode],
],
]
Decorator version of LinearLight.
Source code
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 |
|
LinearLightProcessing dataclass
¶
LinearLightProcessing(ll: LinearLight)
Bases: baseclass
Methods:
-
get_linear
–Getter for
linear
cached property. -
out
– -
set_linear
–Setter for
linear
cached property.
Attributes:
-
linear
–Cached property to use for linear light processing.
-
ll
(LinearLight
) –
linear class-attribute
instance-attribute
¶
linear = cachedproperty[[Self], VideoNode, Self, VideoNode, ...](
get_linear, set_linear
)
Cached property to use for linear light processing.
get_linear ¶
get_linear() -> VideoNode
Getter for linear
cached property.
Source code
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
|
out ¶
out() -> VideoNode
Source code
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
|
set_linear ¶
set_linear(processed: VideoNode) -> None
Setter for linear
cached property.
Source code
131 132 133 134 135 136 137 |
|
NoScale ¶
NoScale(**kwargs: Any)
Bases: Scaler
, Generic[_ScalerT]
A utility scaler class that performs no scaling on the input clip.
If used without a specified scaler, it defaults to inheriting from Catrom
.
Initialize the scaler with optional keyword arguments.
These keyword arguments are automatically forwarded to the _implemented_funcs
methods but only if the method explicitly accepts them as named parameters. If the same keyword is passed to both __init__
and one of the _implemented_funcs
, the one passed to func
takes precedence.
Parameters:
Classes:
-
cached_property
–Read only version of functools.cached_property.
Methods:
-
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).
-
from_scaler
–Create a specialized NoScale class using a specific scaler.
-
get_scale_args
–Generate the keyword arguments used for scaling.
-
kernel_radius
–Return the effective kernel radius for the scaler.
-
multi
–Deprecated alias for
supersample
. -
pretty_string
–Cached property returning a user-friendly string representation.
-
scale
–Return the input clip unscaled, validating that the dimensions are consistent.
-
supersample
–Supersample a clip by a given scaling factor.
Attributes:
-
kwargs
(dict[str, Any]
) –Arguments passed to the implemented funcs or internal scale function.
-
scale_function
(Callable[..., VideoNode]
) –Scale function called internally when performing scaling operations.
Source code
281 282 283 284 285 286 287 288 289 290 291 292 |
|
kwargs instance-attribute
¶
Arguments passed to the implemented funcs or internal scale function.
scale_function instance-attribute
¶
scale_function: Callable[..., VideoNode]
Scale function called internally when performing scaling operations.
cached_property ¶
cached_property(func: Callable[Concatenate[_BaseScalerT, P], T_co])
Bases: cached_property[T_co]
Read only version of functools.cached_property.
Source code
265 |
|
ensure_obj classmethod
¶
ensure_obj(
scaler: str | type[Self] | Self | None = None,
/,
func_except: FuncExceptT | 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
¶FuncExceptT | None
, default:None
) –Function returned for custom error handling.
Returns:
-
Self
–Scaler instance.
Source code
330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 |
|
from_param classmethod
¶
from_param(
scaler: str | type[Self] | Self | None = None,
/,
func_except: FuncExceptT | 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
¶FuncExceptT | None
, default:None
) –Function returned for custom error handling.
Returns:
-
type[Self]
–Resolved scaler type.
Source code
314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 |
|
from_scaler classmethod
¶
from_scaler(scaler: ScalerLike) -> type[NoScale[Scaler]]
Create a specialized NoScale class using a specific scaler.
Parameters:
-
scaler
¶ScalerLike
) –A Scaler instance, type or string used as a base for specialization.
Returns:
Source code
95 96 97 98 99 100 101 102 103 |
|
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 the keyword arguments used for scaling.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Subpixel shift (top, left).
-
width
¶int | None
, default:None
) –Target width.
-
height
¶int | None
, default:None
) –Target height.
-
kwargs
¶Any
, default:{}
) –Extra parameters to merge.
Returns:
Source code
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 |
|
kernel_radius ¶
kernel_radius() -> int
Return the effective kernel radius for the scaler.
Returns:
-
int
–Kernel radius.
Raises:
-
CustomNotImplementedError
–If no kernel radius is defined.
Source code
347 348 349 350 351 352 353 354 355 |
|
multi ¶
multi(
clip: VideoNodeT,
multi: float = 2.0,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any
) -> VideoNodeT
Deprecated alias for supersample
.
Parameters:
-
clip
¶VideoNodeT
) –The source clip.
-
multi
¶float
, default:2.0
) –Supersampling factor.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Subpixel shift (top, left) applied during scaling.
-
kwargs
¶Any
, default:{}
) –Additional arguments forwarded to the scale function.
Returns:
-
VideoNodeT
–The supersampled clip.
Source code
451 452 453 454 455 456 457 458 459 460 461 462 463 464 |
|
pretty_string ¶
pretty_string() -> str
Cached property returning a user-friendly string representation.
Returns:
-
str
–Pretty-printed string with arguments.
Source code
368 369 370 371 372 373 374 375 |
|
scale ¶
scale(
clip: VideoNode,
width: int | None = None,
height: int | None = None,
shift: tuple[TopShift, LeftShift] = (0, 0),
**kwargs: Any
) -> VideoNode | ConstantFormatVideoNode
Return the input clip unscaled, validating that the dimensions are consistent.
Parameters:
-
clip
¶VideoNode
) –The source clip.
-
width
¶int | None
, default:None
) –Optional width to validate against the clip's width.
-
height
¶int | None
, default:None
) –Optional height to validate against the clip's height.
-
shift
¶tuple[TopShift, LeftShift]
, default:(0, 0)
) –Subpixel shift (top, left).
-
kwargs
¶Any
, default:{}
) –Additional arguments forwarded to the scale function.
Raises:
-
CustomValueError
–If
width
orheight
differ from the clip's dimensions.
Source code
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 |
|
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.
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.
Returns:
-
VideoNodeT
–The supersampled clip.
Raises:
-
CustomValueError
–If resulting resolution is non-positive.
Source code
425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 |
|
resample_to ¶
resample_to(
clip: VideoNode,
out_fmt: int | VideoFormatT | HoldsVideoFormatT,
matrix: MatrixT | None = None,
resampler: ResamplerLike = Catrom,
) -> VideoNode
Source code
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 |
|