5
0

46 lines
1.4 KiB
Python

import vapoursynth as vs
import sys
sys.path.append("..")
from common import FadeRange, denoise, descale, w2x, deband, ncop_mask, finalize
from functools import partial
from toolz.functoolz import compose
core = vs.core
core.max_cache_size = 1024
OP = (1272, 3668)
ED = (31889, 34046)
NO_SCALE = [(34514, 34600)]
FORCE_SCALE = [(22384, 23376)]
FADE_RANGES = [FadeRange(ref=3700, range_=(3670, 3751)), # title
FadeRange(ref=17383, range_=(17300, 17436)) # logo
]
W2X_DENOISE = [
(OP[0]+1859, OP[0]+1896) # flashy OP scene
]
DEBAND_HARD = []
DEBAND_HARDER = []
src_ep = core.lsmas.LWLibavSource("../bdmv/KIXA_90890/BDMV/STREAM/00003.m2ts")
src_pv = core.lsmas.LWLibavSource("../bdmv/KIXA_90890/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 = src_ep + src_pv
src = src.fmtc.bitdepth(bits=16)
den = denoise(src)
descale = partial(descale, force_scale=FORCE_SCALE, no_scale=NO_SCALE, fade_ranges=FADE_RANGES)
w2x = partial(w2x, w2x_range=W2X_DENOISE)
deband = partial(deband, hard=DEBAND_HARD, harder=DEBAND_HARDER)
ncop_mask = partial(ncop_mask, src=den, op=OP, ed=ED, src_op=src_op, src_ed=src_ed)
final = compose(
finalize,
ncop_mask,
deband,
w2x,
descale
)(den)
final.set_output()