# Sources JP_BD = FileInfo(r'BDMV//00003.m2ts', (24, -24), idx=lambda x: source(x, cachedir=''), preset=[PresetBD, PresetAAC, PresetChapXML]) JP_BD_NCOP = FileInfo(r'BDMV/120926_JOSHIRAKU_VOL1/BDMV/STREAM/00001.m2ts', (24, -24), idx=lambda x: source(x, cachedir='')) JP_BD_NCED = FileInfo(r'BDMV/120926_JOSHIRAKU_VOL1/BDMV/STREAM/00002.m2ts', (24, -24), idx=lambda x: source(x, cachedir='')) JP_BD_03 = FileInfo(r'BDMV/121024_JOSHIRAKU_VOL2/BDMV/STREAM/00000.m2ts', (24, 2182), idx=lambda x: source(x, cachedir='')) JP_BD.name_file_final = VPath(fr"premux/{JP_BD.name} (Premux).mkv") JP_BD.a_src_cut = VPath(f"{JP_BD.name}_cut.aac") JP_BD.do_qpfile = True # OP/ED Variables opstart = 0 edstart = 31888 op_offset = 2 ed_offset = 1 def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main filterchain""" import havsfunc as haf import lvsfunc as lvf import rekt import vardefunc as vdf
from project_module import flt core = vs.core shader_file = 'assets/FSRCNNX_x2_16-0-4-1.glsl' if not Path(shader_file).exists(): hookpath = r"mpv/shaders/FSRCNNX_x2_16-0-4-1.glsl" shader_file = os.path.join(str(os.getenv("APPDATA")), hookpath) # Sources JP_BD = FileInfo(r"E:/src/Idol Time PriPara/IDOL_TIME_PRIPARA_BDBOX4_D2/BDMV/STREAM/00016.m2ts", (24, -24), idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetFLAC]) JP_BD.name_file_final = VPath(fr"premux/{JP_BD.name} (Premux).mkv") JP_BD.a_src_cut = JP_BD.name JP_BD.do_qpfile = True zones: Dict[Tuple[int, int], Dict[str, Any]] = { # Zones for x265 } def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main VapourSynth filterchain""" import havsfunc as haf import lvsfunc as lvf import vardefunc as vdf from ccd import ccd from muvsfunc import SSIM_downsample from vsutil import depth, get_y
# Sources JP_BD = FileInfo( r'BDMV/[BDMV][210728][Yuru Camp Season 2][Vol.3 Fin]/BD/BDMV/STREAM/00005.m2ts', [(24, -24)], idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetAAC]) JP_NCOP = FileInfo( r'BDMV/[BDMV][210728][Yuru Camp Season 2][Vol.3 Fin]/BD/BDMV/STREAM/00013.m2ts', [(24, -24)], idx=lambda x: source(x, force_lsmas=True, cachedir='')) JP_NCED = FileInfo( r'BDMV/[BDMV][210728][Yuru Camp Season 2][Vol.3 Fin]/BD/BDMV/STREAM/00014.m2ts', [(24, -24)], idx=lambda x: source(x, force_lsmas=True, cachedir='')) JP_BD.name_file_final = VPath(f"premux/{JP_BD.name} (Premux).mkv") JP_BD.a_src_cut = VPath(JP_BD.name) JP_BD.do_qpfile = True # OP/ED scenefiltering opstart = 2882 edstart = 31528 op_offset = 7 ed_offset = 3 def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main VapourSynth filterchain""" import EoEfunc as eoe import lvsfunc as lvf import vardefunc as vdf from ccd import ccd
core.num_threads = 16 EPNUM = __file__[-5:-3] # Sources JPBD_EP = FileInfo(r'BDMV/Vol.6/BDMV/STREAM/00000.m2ts', 1630, 3789, idx=lambda x: source(x, cachedir='')) JPBD_NCOP1 = FileInfo(r'BDMV/Vol.1/BDMV/STREAM/00003.m2ts', 0, -24, idx=lambda x: source(x, cachedir='')) JPBD_NCOP2 = FileInfo(r'BDMV/Vol.5/BDMV/STREAM/00002.m2ts', 0, -25, idx=lambda x: source(x, cachedir=''), preset=[PresetBD, PresetFLAC]) JPBD_NCOP2.name_file_final = VPath(fr"premux/{JPBD_NCOP2.name} (Premux).mkv") JPBD_NCOP2.do_qpfile = True JPBD_NCOP2.a_src = VPath(f"{JPBD_NCOP2.name}.wav") JPBD_NCOP2.a_src_cut = VPath(f"{JPBD_NCOP2.name}_cut.wav") JPBD_NCOP2.a_enc_cut = VPath(f"{JPBD_NCOP2.name}_cut.flac") # Common variables replace_op: List[Range] = [(0, 205), (527, 597), (1350, 1575), (1613, 1673), (1735, 1933)] replace_ep: List[Range] = [(206, 280), (425, 526), (1248, 1316)] op_aisle: List[Range] = [(281, 373)] red_circle: List[Range] = [(1934, 1951), (1956, 1979), (1984, 2054)] replace_ncop: List[Range] = [(206, 280), (1039, 1062), (1554, 1575)] def main() -> vs.VideoNode: """Vapoursynth filtering""" import rekt from adptvgrnMod import adptvgrnMod
from lvsfunc.misc import source from vardautomation import FileInfo, PresetAAC, PresetWEB, VPath from project_module import enc, flt core = vs.core core.num_threads = 4 # Sources JP_CR = FileInfo( r'websrc/CHRONOS RULER E13 [1080p][AAC][JapDub][GerEngSub][Web-DL].mkv', (1224, 3381), idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetWEB, PresetAAC]) JP_CR.name_file_final = VPath(f"premux/{JP_CR.name} (Premux).mkv") JP_CR.a_src_cut = VPath(f"{JP_CR.name}_cut.aac") JP_CR.do_qpfile = True def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main filterchain""" import lvsfunc as lvf import muvsfunc as muf import vardefunc as vdf from adptvgrnMod import adptvgrnMod from vsutil import depth, get_w, get_y from xvs import WarpFixChromaBlend src_path = [ r"websrc/CHRONOS RULER E05 [1080p][AAC][JapDub][GerEngSub][Web-DL].mkv", r"websrc/CHRONOS RULER E06 [1080p][AAC][JapDub][GerEngSub][Web-DL].mkv",
from lvsfunc.types import Range from vardautomation import FileInfo, PresetWEB, PresetAAC, VPath from project_module import encoder as enc core = vs.core # Sources JP_TV = FileInfo( r'src/Code Geass - Hangyaku no Lelouch - 01 [15th Anniversary Rebroadcast] (TBS).d2v', (50972, 53670), preset=[PresetWEB, PresetAAC], idx=lambda x: source(x)) JP_TV.name_file_final = VPath(fr"premux/{JP_TV.name} (Premux).mkv") JP_TV.a_src = VPath(JP_TV.path.to_str()[:-4] + ".aac") JP_TV.a_src_cut = VPath(JP_TV.path.to_str()[:-4] + "_cut.aac") JP_TV.do_qpfile = True zones: Dict[Tuple[int, int], Dict[str, Any]] = { # Zones for x265 } def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main filterchain""" import debandshit as dbs import lvsfunc as lvf from adptvgrnMod import adptvgrnMod from vsutil import depth src = JP_TV.clip_cut vfm = core.vivtc.VFM(src, order=1)
core = vs.core core.num_threads = 16 EPNUM = __file__[-5:-3] # Sources JPBD = FileInfo(r'BDMV/Vol.1/BDMV/STREAM/00003.m2ts', 0, -24, idx=lambda x: source(x, cachedir=''), preset=[PresetBD, PresetFLAC]) JPBD.name_file_final = VPath(fr"premux/{JPBD.name} (Premux).mkv") JPBD.do_qpfile = True JPBD.a_src = VPath(f"{JPBD.name}.wav") JPBD.a_src_cut = VPath(f"{JPBD.name}_cut.wav") JPBD.a_enc_cut = VPath(f"{JPBD.name}_cut.flac") # Common variables op_aisle: List[Range] = [(281, 373)] red_circle: List[Range] = [(1934, 1951), (1956, 1979), (1984, 2054)] def main() -> vs.VideoNode: """Vapoursynth filtering""" from adptvgrnMod import adptvgrnMod from havsfunc import FastLineDarkenMOD from lvsfunc.misc import replace_ranges from vsutil import depth src = JPBD.clip_cut
from project_module import encoder as enc from project_module import flt core = vs.core shader_file = Path(r'assets/FSRCNNX_x2_56-16-4-1.glsl') if not shader_file.exists: hookpath = r"mpv/shaders/FSRCNNX_x2_56-16-4-1.glsl" shader_file = os.path.join(os.getenv("APPDATA"), hookpath) # Sources JP_BD = FileInfo(r'src/4mx21x.mkv', (None, None), preset=[PresetBD, PresetFLAC], idx=lambda x: source(x, force_lsmas=True, cachedir='')) JP_BD.name_file_final = VPath(fr"premux/{JP_BD.name} (Premux).mkv") JP_BD.a_src_cut = VPath("stack black.flac") JP_BD.do_qpfile = True """ Switch OP has significantly more detail, but the Steam OP has much less haloing and weird "wavey" artefacting (but also uses the wrong colourspace lol). I can't really take the best of both worlds unfortunately, so it's a trade-off between whether you like having more detail or less artefacting. If you prefer less artefacting, grab the OPMan release. Else this one. """ def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main filterchain""" import lvsfunc as lvf import vardefunc as vdf
core.num_threads = 4 # Sources JP_DVD = FileInfo(r'BDMV/130208_JOSHIRAKU_OAD/VIDEO_TS/VTS_01_0.d2v', (26, -34), idx=lambda x: source(x, rff=False), preset=[PresetBD, PresetAAC]) JP_BD_NCOP = FileInfo(r'BDMV/120926_JOSHIRAKU_VOL1/BDMV/STREAM/00001.m2ts', (24, -24), idx=lambda x: source(x, cachedir='')) JP_BD_NCED = FileInfo(r'BDMV/120926_JOSHIRAKU_VOL1/BDMV/STREAM/00002.m2ts', (24, -24), idx=lambda x: source(x, cachedir='')) JP_BD_03 = FileInfo(r'BDMV/121024_JOSHIRAKU_VOL2/BDMV/STREAM/00000.m2ts', (24, 34789), idx=lambda x: source(x, cachedir='')) JP_DVD.clip = core.std.AssumeFPS(JP_DVD.clip, fpsnum=24000, fpsden=1001) # To get it to trim properly JP_DVD.name_file_final = VPath(fr"premux/{JP_DVD.name} (Premux).mkv") JP_DVD.a_src = VPath(r"BDMV/130208_JOSHIRAKU_OAD/VIDEO_TS/VTS_01_0 T80 stereo 448 kbps DELAY 0 ms.ac3") JP_DVD.a_src_cut = VPath(f"{JP_DVD.name}_cut.ac3") JP_DVD.do_qpfile = True PROPS_DVD: Set[Tuple[str, int]] = { ('_ChromaLocation', 0), ('_Matrix', 6), ('_Transfer', 6), ('_Primaries', 6), ('_FieldBased', 0) } PROPS_BD: Set[Tuple[str, int]] = { ('_Matrix', 1), ('_Transfer', 1), ('_Primaries', 1)
from project_module import encoder as enc, flt core = vs.core core.num_threads = 4 # Sources JP_NCOP = FileInfo(r'BDMV/120926_JOSHIRAKU_VOL1/BDMV/STREAM/00001.m2ts', (24, -24), idx=lambda x: source(x, cachedir=''), preset=[PresetBD]) JP_BD_03 = FileInfo(r'BDMV/121024_JOSHIRAKU_VOL2/BDMV/STREAM/00000.m2ts', (24, 2182), idx=lambda x: source(x, cachedir=''), preset=[PresetAAC]) JP_NCOP.name_file_final = VPath(fr"premux/{JP_NCOP.name} (Premux).mkv") JP_NCOP.a_src_cut = VPath(f"{JP_NCOP.name}_cut.aac") JP_NCOP.do_qpfile = True # OP scenefiltering opstart = 0 def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main filterchain""" import havsfunc as haf import lvsfunc as lvf import rekt import vardefunc as vdf from adptvgrnMod import adptvgrnMod from awsmfunc import bbmod from ccd import ccd