From 5f23f7290d87c401f3f3623da3d1ea02bda28b46 Mon Sep 17 00:00:00 2001
From: louis <louis@poweris.moe>
Date: Sat, 16 May 2020 00:46:38 -0400
Subject: [PATCH] xv: bd: vol6

---
 Symphogear/XV [BD]/11/ep11.vpy     | 56 ++++++++++++++++++++++
 Symphogear/XV [BD]/11/ep11pv_ac.py | 12 +++++
 Symphogear/XV [BD]/12/ep12.vpy     | 77 ++++++++++++++++++++++++++++++
 Symphogear/XV [BD]/12/ep12pv_ac.py | 12 +++++
 Symphogear/XV [BD]/13/ep13.vpy     | 65 +++++++++++++++++++++++++
 5 files changed, 222 insertions(+)
 create mode 100644 Symphogear/XV [BD]/11/ep11.vpy
 create mode 100755 Symphogear/XV [BD]/11/ep11pv_ac.py
 create mode 100644 Symphogear/XV [BD]/12/ep12.vpy
 create mode 100755 Symphogear/XV [BD]/12/ep12pv_ac.py
 create mode 100644 Symphogear/XV [BD]/13/ep13.vpy

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()