diff --git a/Symphogear/XV [BD]/11/ep11.vpy b/Symphogear/XV [BD]/11/ep11.vpy new file mode 100644 index 0000000..685f66f --- /dev/null +++ b/Symphogear/XV [BD]/11/ep11.vpy @@ -0,0 +1,56 @@ +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() diff --git a/Symphogear/XV [BD]/11/ep11pv_ac.py b/Symphogear/XV [BD]/11/ep11pv_ac.py new file mode 100755 index 0000000..6180931 --- /dev/null +++ b/Symphogear/XV [BD]/11/ep11pv_ac.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +import acsuite +import os +import vapoursynth as vs + +core = vs.core + +ac = acsuite.AC() +path = r"../bdmv/KIXA_90893/BDMV/STREAM/00004.m2ts" +src = core.lsmas.LWLibavSource(path) +ac.eztrim(src, [(0, -24)], os.path.splitext(path)[0] + ".wav", "ep11pv.wav") diff --git a/Symphogear/XV [BD]/12/ep12.vpy b/Symphogear/XV [BD]/12/ep12.vpy new file mode 100644 index 0000000..41ff1cd --- /dev/null +++ b/Symphogear/XV [BD]/12/ep12.vpy @@ -0,0 +1,77 @@ +import vapoursynth as vs +from vsutil import join, split +from lvsfunc.misc import replace_ranges + +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_logo, finalize) # noqa: E402 + +core = vs.core +core.max_cache_size = 1024 + +OP: Optional[Tuple[int, int]] = None +ED: Optional[Tuple[int, int]] = None +LOGO: Range = (11640, 11805) +NO_SCALE: List[Range] = [ + (34544, 34685), # next episode title + (31646, 34043), # ending credits +] +FORCE_SCALE: List[Range] = [ + (13385, 14686), # chris henshin + (240, 2157), # credits in intro (if we don't descale, sraa can cause problems with the mask) +] +FADE_RANGES: List[FadeRange] = [ + # fading text elements don't like to be masked rip me + FadeRange(ref=291, range_=(252, 347)), + FadeRange(ref=404, range_=(378, 473)), + FadeRange(ref=527, range_=(502, 597)), + FadeRange(ref=676, range_=(648, 743)), + FadeRange(ref=870, range_=(829, 924)), + FadeRange(ref=978, range_=(949, 1044)), + FadeRange(ref=1207, range_=(1162, 1257)), + FadeRange(ref=1382, range_=(1353, 1448)), + FadeRange(ref=1546, range_=(1477, 1572)), + FadeRange(ref=1891, range_=(1861, 1956)), + FadeRange(ref=2016, range_=(1989, 2084)), + + # title + FadeRange(ref=2228, range_=(2159, 2240)), +] + +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] = [(13490, 13592)] # chris henshin +DEBAND_HARDER: List[Range] = [(13508, 13550)] # chris henshin + +src_ep = core.lsmas.LWLibavSource("../bdmv/KIXA_90893/BDMV/STREAM/00005.m2ts") +src_pv = core.lsmas.LWLibavSource("../bdmv/KIXA_90893/BDMV/STREAM/00006.m2ts")[:-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) + +y, u, v = split(den) +y = y.edgefixer.Continuity(top=3, left=4) +u = u.edgefixer.Continuity(top=2, left=3) +v = v.edgefixer.Continuity(top=2, left=3) +endcardfix = join([y, u, v]) +prefiltered = replace_ranges(den, endcardfix, [(31601, 31645)]) + +final = compose( + finalize, + mask_logo(src=den, src_logo=src_logo, range=LOGO), + 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) +)(prefiltered) + +final.set_output() diff --git a/Symphogear/XV [BD]/12/ep12pv_ac.py b/Symphogear/XV [BD]/12/ep12pv_ac.py new file mode 100755 index 0000000..63ecef0 --- /dev/null +++ b/Symphogear/XV [BD]/12/ep12pv_ac.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +import acsuite +import os +import vapoursynth as vs + +core = vs.core + +ac = acsuite.AC() +path = r"../bdmv/KIXA_90893/BDMV/STREAM/00006.m2ts" +src = core.lsmas.LWLibavSource(path) +ac.eztrim(src, [(0, -24)], os.path.splitext(path)[0] + ".wav", "ep12pv.wav") diff --git a/Symphogear/XV [BD]/13/ep13.vpy b/Symphogear/XV [BD]/13/ep13.vpy new file mode 100644 index 0000000..0479a9e --- /dev/null +++ b/Symphogear/XV [BD]/13/ep13.vpy @@ -0,0 +1,65 @@ +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_logo, finalize) # noqa: E402 + +core = vs.core +core.max_cache_size = 1024 + +OP: Optional[Tuple[int, int]] = None +ED: Optional[Tuple[int, int]] = None +LOGO: Range = (15790, 15955) +NO_SCALE: List[Range] = [ + (30162, 32320), # ending credits +] +FORCE_SCALE: List[Range] = [ + (0, 1348), # credits in intro (if we don't descale, sraa can cause problems with the mask) +] +FADE_RANGES: List[FadeRange] = [ + # fading text elements don't like to be masked rip me + FadeRange(ref=58, range_=(9, 92)), + FadeRange(ref=159, range_=(129, 212)), + FadeRange(ref=251, range_=(219, 291)), + FadeRange(ref=346, range_=(300, 383)), + FadeRange(ref=489, range_=(420, 491)), + FadeRange(ref=709, range_=(666, 748)), + FadeRange(ref=810, range_=(784, 866)), + FadeRange(ref=927, range_=(877, 957)), + FadeRange(ref=1036, range_=(959, 1037)), + FadeRange(ref=1227, range_=(1167, 1250)), + FadeRange(ref=1303, range_=(1264, 1347)), + + # title + FadeRange(ref=1576, range_=(1508, 1591)), +] + +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] = [] +DEBAND_HARDER: List[Range] = [] + +src_ep = core.lsmas.LWLibavSource("../bdmv/KIXA_90893/BDMV/STREAM/00008.m2ts") +src_logo = core.lsmas.LWLibavSource("../bdmv/KIXA_90890/BDMV/STREAM/00005.m2ts")[18416] +src = src_ep +src = src.fmtc.bitdepth(bits=16) +den = denoise(src) + +final = compose( + finalize, + mask_logo(src=den, src_logo=src_logo, range=LOGO), + 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()