from typing import Any, Dict, List, Tuple, Union import vapoursynth as vs from lvsfunc.misc import source 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, get_w, get_y, join import vapoursynth as vs from love_live_common import EncodeGoBrrr, FileInfoMore core = vs.core JPBD = FileInfoMore( r'[BDMV][210326] ラブライブ! 虹ヶ咲学園スクールアイドル同好会 4\BDROM\BDMV\STREAM\00008.m2ts', 0, -26, preset=[PresetBD, PresetFLAC] ) JPBD_NCOP = FileInfo( r'[BDMV][210127][BCXA-1591][ラブライブ!虹ヶ咲学園スクールアイドル同好会][第2巻]\BDROM\BDMV\STREAM\00010.m2ts', 24, -24, ) class Filtering(): # noqa def main(self: Filtering) -> vs.VideoNode: """Vapoursynth filtering""" src = JPBD.clip_cut src = depth(src, 16) out = src h = 800 # noqa w = get_w(h) # noqa opstart, opend = 2830, 4986 edstart, edend = 31504, 33661
from lvsfunc.misc import source from vardautomation import FileInfo, PresetAAC, PresetBD, VPath from project_module import enc, 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'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
from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc from project_module import flt core = vs.core shader_file = 'assets/FSRCNNX_x2_56-16-4-1.glsl' if not Path(shader_file).exists(): hookpath = r"mpv/shaders/FSRCNNX_x2_56-16-4-1.glsl" shader_file = os.path.join(str(os.getenv("APPDATA")), hookpath) # Sources JP_BD = FileInfo( r"E:/src/[BDMV] Fairy gone/[BDMV][191218][TBR29115D][Fairy gone フェアリーゴーン Vol.5]/BDROM/BDMV/STREAM/00004.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 filterchain""" import lvsfunc as lvf import rekt import vardefunc as vdf
from typing import Tuple, Union import vapoursynth as vs 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
import havsfunc as hvf import lvsfunc as lvf import vardefunc as vdf import xvs from vardautomation import FileInfo, PresetEAC3, PresetWEB from vsutil import depth, get_y from churutto_common import EncodeGoBrrr import vapoursynth as vs core = vs.core NUM = __file__[-5:-3] WEB = FileInfo( f'{NUM}/Yuuki Yuuna wa Yuusha de Aru Churutto! - {NUM} (Amazon Prime VBR 1080p).mkv', 24, -22, preset=[PresetWEB, PresetEAC3]) class Filtering(): # noqa def main(self: Filtering) -> vs.VideoNode: # noqa """Vapoursynth filtering""" src = WEB.clip_cut src = src.std.AssumeFPS(src) src = depth(src, 16) out = src denoise = hvf.SMDegrain(out, tr=1, thSAD=100, thSADC=100) out = denoise
from typing import Any, Dict, List, Tuple, Union import vapoursynth as vs from lvsfunc.misc import source from lvsfunc.types import Range from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc from project_module import flt core = vs.core # Sources JP_BD = FileInfo(r'BDMV/Deadman Wonderland/EXTRAS/ED.mkv', (None, -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 no_filter: List[Range] = [ # No filtering on these ranges (2056, None) ] zones: Dict[Tuple[int, int], Dict[str, Any]] = { # Zones for x265 } def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main filterchain"""
from typing import Any, Dict, List, Tuple, Union import vapoursynth as vs from lvsfunc.misc import source from lvsfunc.types import Range from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath, status from project_module import encoder as enc from project_module import flt core = vs.core # Sources JP_BD = FileInfo( r"BDMV/Deadman Wonderland/EXTRAS/OP (Director's Cut Version).mkv", (12, -36), idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetFLAC]) JP_NCOP = FileInfo(r"BDMV/Deadman Wonderland/EXTRAS/OP (TV Cut Version).mkv", (12, -36), 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 = JP_BD.name JP_BD.do_qpfile = False no_filter: List[Range] = [ # No filtering on these ranges (None, 13), (2142, None) ] zones: Dict[Tuple[int, int], Dict[str, Any]] = { # Zones for x265 }
from typing import Any, Dict, List, Tuple, Union import vapoursynth as vs from lvsfunc.misc import source from lvsfunc.types import Range from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc from project_module import flt core = vs.core # Sources JP_BD = FileInfo(r'BDMV/Vol.01/BTOOOM 01/BDMV/STREAM/00010.m2ts', (24, None), idx=lambda x: source(x, 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 shift_chr: List[Range] = [ # Shift chroma ranges (1007, 1112) ] str_grain: List[Range] = [ # Super strong stylistic grain (264, 311), (556, 570), (616, 630), (992, 1006), (1288, 1301) ] no_filter: List[Range] = [ # No filtering (2088, None) ]
from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc from project_module import flt, util core = vs.core shader_file = 'assets/FSRCNNX_x2_56-16-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"BDMV/Senpai ga Uzai Kouhai no Hanashi Vol. 1 JP BDMV/KIZX_506/BDMV/STREAM/00003.m2ts", (24, 2184), 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 lvsfunc.types import Range from vardautomation import (JAPANESE, AudioStream, FileInfo, Mux, Patch, PresetAAC, PresetWEB, RunnerConfig, SelfRunner, VideoStream, VPath, X264Encoder) from kobayashi2_filters import encode, flt, util core = vs.core make_wraw: bool = False # Create a workraw. EP_NUM = __file__[-5:-3] # Sources JP_CR = FileInfo( f'sources/{EP_NUM}/Kobayashi-san Chi no Maid Dragon S E{EP_NUM} [1080p][AAC][JapDub][GerEngSub][Web-DL].mkv', idx=lambda x: source(x, force_lsmas=True, cachedir='')) JP_AOD = FileInfo( f'sources/{EP_NUM}/Kobayashi-san Chi no Maid Dragon S E{EP_NUM} [1080p+][AAC][JapDub][GerSub][Web-DL].mkv', idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetWEB, PresetAAC]) YT_NCOP = FileInfo( 'sources/【期間限定公開】TVアニメ『小林さんちのメイドラゴンS』ノンテロップオープニング映像-bEb4xT8lnYU.mkv', idx=lambda x: source(x, force_lsmas=True, cachedir='')) YT_NCED = FileInfo( 'sources/【期間限定公開】TVアニメ『小林さんちのメイドラゴンS』ノンテロップエンディング映像-kMWLe37SMBs.mp4', idx=lambda x: source(x, force_lsmas=True, cachedir='')) JP_AOD.name_file_final = VPath(fr"[Premux] Maid Dragon S2 - {EP_NUM}.mkv") JP_AOD.name_clip_output = VPath(JP_AOD.name + '.264') JP_AOD.a_src_cut = VPath(f"{JP_AOD.name}_cut.aac") JP_AOD.do_qpfile = True
from lvsfunc.types import Range from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import enc, 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/[BDMV] Spice and Wolf Blu-ray BOX Complete Edition R2J/[BDMV][130306] Spice and Wolf Disc6/BDMV/STREAM/00001.m2ts", # noqa [(None, -24)], idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetFLAC]) 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 strong_debanding: List[Range] = [ # Ranges for stronger debanding (2007, 2066) ] zones: Dict[Tuple[int, int], Dict[str, Any]] = { # Zoning for the encoder } def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]:
from typing import Tuple, Union import vapoursynth as vs from lvsfunc.misc import source from vardautomation import FileInfo, PresetAAC, PresetBD, VPath from project_module import enc, flt core = vs.core core.num_threads = 4 # Sources JP_BD = FileInfo( r'BDMV/[BDMV][アニメ][210127][MAJO_NO_TABITABI_1][Blu-Ray BOX 上]/BDMV/STREAM/00016.m2ts', (24, -24), idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetAAC]) JP_BD.name_file_final = VPath(f"premux/{JP_BD.name} (Premux).mkv") JP_BD.a_src_cut = VPath(f"{JP_BD.name}_cut.aac") JP_BD.do_qpfile = True 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 ccd import ccd from vsutil import depth, get_w, get_y
AudioStream, BasicTool, FileInfo, FlacEncoder, Mux, PresetBD, PresetFLAC, RunnerConfig, SelfRunner, VideoStream, VPath, X265Encoder) from vardefunc.misc import get_bicubic_params from vsutil import get_w, insert_clip from bento_filters import flt core = vs.core 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)]
import havsfunc as hvf import kagefunc as kgf import lvsfunc as lvf import vardefunc as vdf from vardautomation import (BasicTool, FileInfo, PresetAAC, PresetWEB, X265Encoder) from vardefunc.mask import Scharr from vsutil import depth, get_y import vapoursynth as vs core = vs.core NUM = __file__[-5:-3] WEB_CRU = FileInfo(f'{NUM}/[FeelsBadSubs] Hige wo Soru. Soshite Joshikousei wo Hirou. - {NUM} [1080p].mkv', None, None, preset=[PresetWEB, PresetAAC]) WEB_AOD = FileInfo(f'{NUM}/Higehiro E{NUM} [1080p+][AAC][JapDub][GerSub][Web-DL].mkv', None, None, preset=[PresetWEB, PresetAAC]) SUB = f'{NUM}/[FeelsBadSubs] Hige wo Soru. Soshite Joshikousei wo Hirou. - {NUM} [1080p].ass' class Credit(NamedTuple): # noqa: PLC0115 range_frames: List[Tuple[int, int]] mask: vs.VideoNode class ScharrG41(Scharr): # noqa: PLC0115 def _get_divisors(self) -> List[float]:
import os import lvsfunc as lvf import kagefunc as kgf import vardefunc as vdf from vardautomation import FileInfo import vapoursynth as vs core = vs.core BDMV = os.path.dirname(__file__) OP1D = FileInfo(fr'{BDMV}/JUJUTSUKAISEN_3/BDMV/STREAM/00005.m2ts', (0, -24)) EP13 = FileInfo(fr'{BDMV}/JUJUTSUKAISEN_5/BDMV/STREAM/00002.m2ts', (24, None)) MASK = fr'{BDMV}/masks/OP1E.png' def recreate_OP1E(): src_nc = OP1D.clip_cut src_ep = EP13.clip_cut[6954:6954 + src_nc.num_frames] op = lvf.rfs(src_nc, src_ep, [(2048, 2156)]) mask = vdf.dcm(op, op[0:src_nc.num_frames - 1], src_nc, 0, thr=248, prefilter=True) merge = core.std.MaskedMerge(op, src_nc, mask[2075]) op = lvf.rfs(op, merge, [(2048, 2092)]) pause = src_ep.std.FreezeFrames(2111, src_ep.num_frames - 1, 2111) fade = kgf.crossfade(pause[0:2159], core.std.BlankClip(pause),
import vapoursynth as vs import vardefunc as vdf from adptvgrnMod import sizedgrn from vardautomation import (AudioCutter, AudioEncoder, BasicTool, FileInfo, LosslessEncoder, PresetAAC, PresetBD, X265Encoder) from vsutil import depth, get_y from gotoubun_common import AA, Denoise, EncodeGoBrrr, Mask core = vs.core NUM = __file__[-5:-3] JPBD = FileInfo( r'[BDMV][210421][Gotoubun no Hanayome ∬][Vol.2]\BDMV\STREAM\00007.m2ts', 0, -24, preset=[PresetBD, PresetAAC]) WEB_AOD = FileInfo( fr'5-toubun no Hanayome S02 (The Quintessential Quintuplets S02) [AoD]\5-toubun no Hanayome S02E{NUM} [1080p+][AAC][JapDub][GerSub][Web-DL].mkv', ) WEB_CRU = FileInfo( fr'5-toubun no Hanayome S02 (The Quintessential Quintuplets S02) [CR]\5-toubun no Hanayome S02E{NUM} [1080p][AAC][JapDub][GerEngSub][Web-DL].mkv' ) SUB = fr'5-toubun_no_Hanayome_subs\ger\[FeelsBadSubs] 5-toubun no Hanayome ∬ - {NUM} [1080p].4.ger.ass' FONTDIR = '5-toubun_no_Hanayome_subs/_fonts' ENC_LOSS = LosslessEncoder('nvencc', Path('gotoubun_common/nvenc_settings'), progress_update=None)
from lvsfunc.misc import source from lvsfunc.types import Range from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc core = vs.core shader_file = 'assets/FSRCNNX_x2_56-16-4-1.glsl' if not Path(shader_file).exists(): hookpath = r"mpv/shaders/FSRCNNX_x2_56-16-4-1.glsl" shader_file = os.path.join(str(os.getenv("APPDATA")), hookpath) # Sources JP_BD = FileInfo(r'src/MB_OP.wmv', (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(JP_BD.name) JP_BD.do_qpfile = True # OP filtering opstart = 0 aliasing_ranges: List[Range] = [ # Ranges with aliasing (opstart + 144, opstart + 349), (opstart + 1940, opstart + 1959), (opstart + 2119, opstart + 2126) ] haloing_ranges: List[Range] = [ # Ranges with haloing (opstart + 1876, 1886)
from typing import Tuple, Union import vapoursynth as vs from lvsfunc.misc import source from vardautomation import FileInfo, PresetAAC, PresetBD, VPath from project_module import encoder as enc, flt core = vs.core core.num_threads = 4 # Sources JP_NCED = FileInfo(r'BDMV/120926_JOSHIRAKU_VOL1/BDMV/STREAM/00002.m2ts', (24, -24), idx=lambda x: source(x, cachedir='')) JP_BD_13 = FileInfo(r'BDMV/130522_JOSHIRAKU_VOL6/BDMV/STREAM/00000.m2ts', (101493, -29), idx=lambda x: source(x, cachedir=''), preset=[PresetBD, PresetAAC]) JP_BD_13.name_file_final = VPath(fr"premux/{JP_NCED.name} (Premux).mkv") 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
from vardautomation import FileInfo, PresetAAC, PresetWEB, VPath from project_module import encoder as enc from project_module import flt # noqa core = vs.core make_wraw: bool = False # Create a workraw enc_type = 'Premux' if not make_wraw else 'wraw' EP_NUM = __file__[-5:-3] # Sources JP_clip = FileInfo(f'sources/{EP_NUM}/[NC-Raws] 迦希女王不会放弃! - {EP_NUM} [B-Global][WEB-DL][1080p][AVC AAC][ENG_TH_SRT][MKV].mkv', idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetWEB, PresetAAC]) JP_clip.name_file_final = VPath(f"{enc_type.lower()}/Jahy_{EP_NUM} ({enc_type}).mkv") JP_clip.name_clip_output = VPath(JP_clip.name + '.265') JP_clip.do_qpfile = True # Common variables # OP/ED frames opstart: Union[int, bool] = 1152 edstart: Union[int, bool] = 31745 freeze_ranges: List[List[int]] = [ # [start_frame, end_frame, frame] [opstart, opstart+18, opstart], [opstart+87, opstart+96, opstart+87], [opstart+201, opstart+207, opstart], [opstart+238, opstart+244, opstart],
from lvsfunc.types import Range from vardautomation import FileInfo, PresetAAC, PresetBD, VPath from project_module import enc, 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'BDMV/01/BD_VIDEO/BDMV/STREAM/00005.m2ts', (24, -24), idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetAAC]) 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 # Common variables opstart = 56 # First cut edstart = False name = __name__[7:-3] # Scenefiltering cshift_left_ranges: Iterable[Range] = [ # Shift chroma to the left ]
from typing import Tuple, Union import vapoursynth as vs from lvsfunc.misc import source from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc from project_module import flt core = vs.core # Sources JP_BD = FileInfo(r'BDMV/DISC7/BDMV/STREAM/00009.m2ts', (24, -24), idx=lambda x: source(x, cachedir=''), preset=[PresetBD, PresetFLAC]) JP_BD.name_file_final = VPath(fr"premux/{JP_BD.name} (Premux).mkv") JP_BD.a_src_cut = VPath(JP_BD.name) JP_BD.do_qpfile = True def filterchain() -> Union[vs.VideoNode, Tuple[vs.VideoNode, ...]]: """Main filterchain""" import havsfunc as haf import lvsfunc as lvf import vardefunc as vdf from adptvgrnMod import adptvgrnMod from ccd import ccd from vsutil import depth src = JP_BD.clip_cut src = depth(src, 16)
from lvsfunc.types import Range from vardautomation import FileInfo, PresetAAC, PresetWEB, VPath from project_module import encoder as enc from project_module import flt # noqa core = vs.core make_wraw: bool = False # Create a workraw enc_type = 'Premux' if not make_wraw else 'wraw' EP_NUM = __file__[-5:-3] # Sources JP_clip = FileInfo( f'sources/{EP_NUM}/Jahy-sama wa Kujikenai E{EP_NUM} [1080p][AAC][JapDub][GerEngSub][Web-DL].mkv', idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetWEB, PresetAAC]) JP_clip.name_file_final = VPath( f"{enc_type.lower()}/Jahy_{EP_NUM} ({enc_type}).mkv") JP_clip.name_clip_output = VPath(JP_clip.name + '.265') JP_clip.do_qpfile = True # Common variables # OP/ED frames opstart: Union[int, bool] = 2014 edstart: Union[int, bool] = 31746 op_offset: int = 1 ed_offset: int = 1 freeze_ranges: List[List[int]] = [ # [start_frame, end_frame, frame] [opstart, opstart + 18, opstart],
import vapoursynth as vs from lvsfunc.misc import source from vardautomation import (JAPANESE, FileInfo, MplsReader, PresetAAC, PresetBD, VPath) from project_module import enc, flt core = vs.core core.num_threads = 4 EP_NUM = __file__[-5:-3] # Sources JP_BD = FileInfo(r'BDMV/[BDMV][210224][Majo no Tabitabi][Blu-Ray BOX下巻]/BDMV/STREAM/00003.m2ts', (24, -24), idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetAAC]) JP_BD_NCED = FileInfo(r'BDMV/[BDMV][アニメ][210127][MAJO_NO_TABITABI_1][Blu-Ray BOX 上]/BDMV/STREAM/00016.m2ts', (24, -24), idx=lambda x: source(x, force_lsmas=True, cachedir='')) JP_WEB = FileInfo(fr'WebSrc/Wandering Witch Elaina E{EP_NUM} [1080p][AAC][JapDub][GerSub][Web-DL].mkv', (None, None), 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(f"{JP_BD.name}_cut.aac") JP_BD.do_qpfile = True # Chapter creation CHAPTERS = MplsReader(r"BDMV/[BDMV][210224][Majo no Tabitabi][Blu-Ray BOX下巻]", lang=JAPANESE) \ .get_playlist()[1].mpls_chapters[int(EP_NUM)-13].to_chapters() CHAP_NAMES: Sequence[Optional[str]] = ['Intro', 'OP', 'Part A', 'Part B', 'ED']
from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc 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
Patch, PresetBD, PresetFLAC, RunnerConfig, SelfRunner, VideoStream, VPath, X265Encoder) from vardefunc.misc import get_bicubic_params from vsutil import get_w from bento_filters import flt core = vs.core core.num_threads = 16 EPNUM = __file__[-5:-3] # Sources JPBD_NCOP = FileInfo(r'BDMV/Vol.1/BDMV/STREAM/00003.m2ts', 0, -24, idx=lambda x: source(x, cachedir=''), preset=[PresetBD, PresetFLAC]) JPBD_EP = FileInfo(r'BDMV/Vol.1/BDMV/STREAM/00001.m2ts', 2877, 2877+JPBD_NCOP.clip_cut.num_frames, idx=lambda x: source(x, cachedir=''), preset=[PresetBD, PresetFLAC]) JPBD_NCOP.name_file_final = VPath(fr"premux/{JPBD_NCOP.name} (Premux).mkv") JPBD_NCOP.do_qpfile = True # Common variables replace_op: List[Range] = [(418, 526)] op_aisle: List[Range] = [(281, 373)] red_circle: List[Range] = [(1934, 1951), (1956, 1979), (1984, 2054)] def main() -> vs.VideoNode:
from typing import Any, Dict, Tuple import vapoursynth as vs from lvsfunc.misc import source from vardautomation import FileInfo, PresetAAC, PresetBD, VPath from project_module import chain, encode core = vs.core # Sources JP_BD = FileInfo(r'BDMV/GRANBLUE_FANTASY_SEASON2_6/BDMV/STREAM/00002.m2ts', (None, -27), idx=lambda x: source(x, force_lsmas=True, cachedir=''), preset=[PresetBD, PresetAAC]) 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 zones: Dict[Tuple[int, int], Dict[str, Any]] = { # Zones for x265 (11460, 16837): {'b': 0.75}, (16838, 16928): {'b': 0.90}, (27768, 27993): {'b': 0.75}, (29119, 29268): {'b': 0.75}, } if __name__ == '__main__': filtered = chain.filterchain(JP_BD.clip_cut) encode.Encoder(JP_BD, filtered).run(zones=zones) elif __name__ == '__vapoursynth__': filtered = chain.filterchain(JP_BD.clip_cut)
import vapoursynth as vs import vardefunc as vdf from adptvgrnMod import sizedgrn from vardautomation import (AudioCutter, AudioEncoder, BasicTool, FileInfo, LosslessEncoder, PresetAAC, PresetBD, X265Encoder) from vsutil import depth, get_y from gotoubun_common import AA, Denoise, EncodeGoBrrr, Mask core = vs.core NUM = __file__[-5:-3] JPBD = FileInfo( r'[BDMV][210317][Gotoubun no Hanayome ∬][Vol.1]\BDMV\STREAM\00009.m2ts', 0, 2158, preset=[PresetBD, PresetAAC]) OPSTART = 0 ENC_LOSS = LosslessEncoder('nvencc', Path('gotoubun_common/nvenc_settings'), progress_update=None) ENCODER = X265Encoder( 'x265', Path('gotoubun_common/x265_settings'), progress_update=lambda v, e: print( f"\rVapourSynth: {v}/{e} ~ {100 * v // e}% || Encoder: ", end=""))
from typing import Optional, Sequence, Tuple, Union import vapoursynth as vs from lvsfunc.misc import source from vardautomation import (JAPANESE, FileInfo, MplsReader, PresetAAC, PresetBD, PresetChapXML, VPath) from project_module import encoder as enc, flt core = vs.core core.num_threads = 4 # 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
from vardautomation import FileInfo, PresetBD, PresetFLAC, VPath from project_module import encoder as enc from project_module import flt core = vs.core shader_file = 'assets/FSRCNNX_x2_56-16-4-1.glsl' if not Path(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/[天使动漫]月姫 -A piece of blue glass moon- THEME SONG E.P.(bdmv)/BDMV/STREAM/00004.m2ts', (None, -48), 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.do_lossless = True if Path(JP_BD.name_clip_output_lossless).is_file(): JP_BD.do_qpfile = True # Audio Shift: 392ms strong_aa: List[Range] = [ # Why is ufo lineart so good (531, 582), (1619, 1620), (1623, 1626), (1687, 1690), (1693, 1704), (1807, 1810) ] heavy_grain: List[Range] = [ # Scenes with super heavy grain ]