import vapoursynth as vs from toolz.functoolz import compose from typing import List, Optional, Tuple import sys sys.path.append("..") from xv_common import (FadeRange, Range, denoise, descale, w2x, deband, mask_oped, mask_logo, finalize) # noqa: E402 core = vs.core core.max_cache_size = 1024 OP: Optional[Tuple[int, int]] = (3381, 5777) ED: Optional[Tuple[int, int]] = (31888, 34045) LOGO: Range = (16437, 16602) NO_SCALE: List[Range] = [ (34495, 34578), # next episode title ] FORCE_SCALE: List[Range] = [ (10347, 11490), # bikki henshin (23535, 24735), # maria henshin ] FADE_RANGES: List[FadeRange] = [ FadeRange(ref=5797, range_=(5779, 5860)), ] W2X_DENOISE: List[Range] = [] if OP is not None: W2X_DENOISE.append( (OP[0]+1859, OP[0]+1896), # flashy OP scene ) DEBAND_HARD: List[Range] = [(10452, 10542)] DEBAND_HARDER: List[Range] = [(10470, 10506)] src_ep = core.lsmas.LWLibavSource("../bdmv/KIXA_90893/BDMV/STREAM/00003.m2ts") src_pv = core.lsmas.LWLibavSource("../bdmv/KIXA_90893/BDMV/STREAM/00004.m2ts")[:-24] src_op = core.lsmas.LWLibavSource("../bdmv/KIXA_90889/BDMV/STREAM/00007.m2ts")[24:-24] src_ed = core.lsmas.LWLibavSource("../bdmv/KIXA_90889/BDMV/STREAM/00008.m2ts")[24:-24] src_logo = core.lsmas.LWLibavSource("../bdmv/KIXA_90890/BDMV/STREAM/00005.m2ts")[18416] src = src_ep + src_pv src = src.fmtc.bitdepth(bits=16) den = denoise(src) final = compose( finalize, mask_logo(src=den, src_logo=src_logo, range=LOGO), mask_oped(src=den, op=OP, ed=ED, src_op=src_op, src_ed=src_ed), deband(hard=DEBAND_HARD, harder=DEBAND_HARDER), w2x(w2x_range=W2X_DENOISE), descale(force_scale=FORCE_SCALE, no_scale=NO_SCALE, fade_ranges=FADE_RANGES) )(den) final.set_output()