Skip to content

utils

Functions:

calc_super_dim

calc_super_dim(dim: int, blksize: int, overlap: int) -> int

Calculate the padded dimension of a super clip for given block size and overlap.

Source code in vsdenoise/mvtools/utils.py
35
36
37
38
39
40
41
42
43
44
def calc_super_dim(dim: int, blksize: int, overlap: int) -> int:
    """
    Calculate the padded dimension of a super clip for given block size and overlap.
    """
    step = blksize - overlap

    if step <= 0 or dim <= overlap:
        return dim

    return math.ceil((dim - overlap) / step) * step + overlap

normalize_thscd

normalize_thscd(
    thscd: int | tuple[int | None, float | None] | None,
) -> tuple[int | None, float | None]
Source code in vsdenoise/mvtools/utils.py
31
32
def normalize_thscd(thscd: int | tuple[int | None, float | None] | None) -> tuple[int | None, float | None]:
    return (None, None) if thscd is None else thscd if isinstance(thscd, tuple) else (thscd, None)

refine_blksize

refine_blksize(
    blksize: int | tuple[int, ...], divisor: int | tuple[int, ...] = (2, 2)
) -> tuple[int, int]

Normalize and refine blksize.

Parameters:

  • blksize

    (int | tuple[int, ...]) –

    Block size to refine.

  • divisor

    (int | tuple[int, ...], default: (2, 2) ) –

    Block size divisor.

Returns:

  • tuple[int, int] –

    Normalized and refined blksize tuple.

Source code in vsdenoise/mvtools/utils.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def refine_blksize(blksize: int | tuple[int, ...], divisor: int | tuple[int, ...] = (2, 2)) -> tuple[int, int]:
    """
    Normalize and refine blksize.

    Args:
        blksize: Block size to refine.
        divisor: Block size divisor.

    Returns:
        Normalized and refined blksize tuple.
    """

    nblksize = normalize_seq(blksize, 2)
    ndivisor = normalize_seq(divisor, 2)

    return (
        nblksize[0] // ndivisor[0] if ndivisor[0] else 0,
        nblksize[1] // ndivisor[1] if ndivisor[1] else 0,
    )