예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
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(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
예제 #5
0
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
예제 #6
0
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
예제 #7
0
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"""
예제 #8
0
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
}
예제 #9
0
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)
]
예제 #10
0
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
예제 #11
0
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
예제 #12
0
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, ...]]:
예제 #13
0
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
예제 #14
0
                            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)]
예제 #15
0
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]:
예제 #16
0
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),
예제 #17
0
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)
예제 #18
0
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)
예제 #19
0
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
예제 #20
0
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],
예제 #21
0
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
]
예제 #22
0
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)
예제 #23
0
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],
예제 #24
0
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']
예제 #25
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_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
예제 #26
0
                            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:
예제 #27
0
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)
예제 #28
0
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=""))
예제 #29
0
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
예제 #30
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
]