Esempio n. 1
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 ccd import ccd
    from vsutil import depth, get_w, get_y

    src: vs.VideoNode = pre_corrections()  # type:ignore[assignment]
    src_NCED = JP_BD_NCED.clip_cut

    # Masking credits
    ed_mask = vdf.dcm(
        src, src[edstart:edstart+src_NCED.num_frames-ed_offset], src_NCED[:-ed_offset],
        start_frame=edstart, thr=25, prefilter=False) if edstart is not False \
        else get_y(core.std.BlankClip(src))
    credit_mask = depth(ed_mask, 16).std.Binarize()

    rkt = rekt.rektlvls(src, [0, 1079], [7, 7], [0, 1919], [7, 7],
                        prot_val=None)
    rkt = depth(rkt, 16)

    denoise_uv = ccd(rkt, threshold=7, matrix='709')
    stab = haf.GSMC(denoise_uv, radius=1, thSAD=200, planes=[0])
    decs = vdf.noise.decsiz(stab, sigmaS=8, min_in=208 << 8, max_in=232 << 8)

    l_mask = vdf.mask.FDOG().get_mask(get_y(decs), lthr=0.065,
                                      hthr=0.065).std.Maximum().std.Minimum()
    l_mask = l_mask.std.Median().std.Convolution([1] * 9)

    aa_weak = lvf.aa.taa(decs, lvf.aa.nnedi3(opencl=True))
    aa_strong = lvf.aa.upscaled_sraa(decs,
                                     downscaler=lvf.kernels.Bicubic(b=-1 / 2,
                                                                    c=1 /
                                                                    4).scale)
    aa_clamp = lvf.aa.clamp_aa(decs, aa_weak, aa_strong, strength=1.5)
    aa_masked = core.std.MaskedMerge(decs, aa_clamp, l_mask)

    dehalo = haf.FineDehalo(aa_masked,
                            rx=1.6,
                            ry=1.6,
                            darkstr=0,
                            brightstr=1.25)
    darken = flt.line_darkening(dehalo, 0.275).warp.AWarpSharp2(depth=2)

    merged_credits = core.std.MaskedMerge(darken, decs, credit_mask)

    deband = flt.masked_f3kdb(merged_credits, rad=18, thr=32, grain=[32, 12])
    grain: vs.VideoNode = adptvgrnMod(deband,
                                      seed=42069,
                                      strength=0.35,
                                      luma_scaling=8,
                                      size=1.05,
                                      sharp=80,
                                      grain_chroma=False)

    return grain
Esempio n. 2
0
gambo = gambo2[:121] + gambo[118:]

gambo = gambo[:4506]

gambo = fvf.GradFun3(gambo,
                     thr=0.35,
                     radius=12,
                     elast=8.0,
                     mode=3,
                     ampo=1,
                     ampn=0,
                     pat=32,
                     dyn=False,
                     staticnoise=False,
                     thr_det=2 + round(max(1 - 0.35, 0) / 0.3),
                     debug=False,
                     thrc=1,
                     radiusc=12,
                     planes=list(range(gambo.format.num_planes)),
                     ref=gambo,
                     bits=gambo.format.bits_per_sample)
gambo = core.asharp.ASharp(gambo)
gambo = haf.FineDehalo(gambo)

gambo = taa.TAAmbk(gambo, "Nnedi3SangNom")

gambo = gambo.resize.Bicubic(height=844,
                             width=int(gambo.width / gambo.height * 844 + 0.5))

gambo.set_output()
Esempio n. 3
0
                  thresh=30).std.Merge(edgefix, weight=[0.6, 0.4])
epfix = rektlvls(epfix, colnum=[638], colval=[8], prot_val=[70, 191])

epfix = epfix.resize.Bicubic(format=RGBS,
                             matrix_in_s="170m",
                             range_in_s="limited")
dpir = lvf.deblock.autodb_dpir(epfix,
                               strs=[45, 55, 75],
                               thrs=[(0.0, 0.0, 0.0), (1.0, 1.2, 1.5),
                                     (3.0, 3.8, 4.5)],
                               cuda=False).resize.Bicubic(
                                   format=YUV444P16,
                                   matrix_s="170m",
                                   dither_type="error_diffusion")

dpir = haf.FineDehalo(dpir, rx=2, ry=2, brightstr=1.8, darkstr=0.2)
dpir = core.std.Merge(haf.FineDehalo(dpir,
                                     rx=1.8,
                                     ry=1.8,
                                     brightstr=1.8,
                                     darkstr=0),
                      dpir,
                      weight=[0.4, 0.6])

aa = core.std.Expr([lvf.aa.upscaled_sraa(dpir, rfactor=1.8), dpir], "x y min")
aa = core.std.Merge(lvf.aa.upscaled_sraa(aa, rfactor=2.2),
                    aa,
                    weight=[0.9, 0.1])

dpir = debandshit.dumb3kdb(aa.resize.Bicubic(format=YUV420P10,
                                             matrix_s="170m",
Esempio n. 4
0
import fvsfunc as fvf
import kagefunc as kgf
import lvsfunc
#from acsuite import eztrim

ep1 = core.ffms2.Source("Sukeban.Deka.S01.480p.AMZN.WEB-DL.DDP2.0.H.264-ARiN/Sukeban.Deka.S01E01.480p.AMZN.WEB-DL.DDP2.0.H.264-ARiN.mkv")

#eztrim(ep1, [(24,36876)], 'Sukeban.Deka.S01E01.480p.AMZN.WEB-DL.DDP2.0.H.264-ARiN.track_2.ac3')

ep1 = ep1[24:36876]
ep1 = havsfunc.Deblock_QED(ep1)
ep1 = awf.bbmod(ep1, left=3, thresh=5, blur=4)
ep1 = core.fb.FillBorders(ep1, right=2)
ep1 = rektlvls(ep1, colnum=[2,638], colval=[-20,-17])
ep1 = awf.bbmod(ep1, right=4, thresh=40, blur=40)
ep1 = core.resize.Bicubic(ep1, src_left=-1)

ep1 = rektlvls(ep1, colnum=[0,4,5], colval=[-40,-30,-10])
ep1 = rektlvls(ep1, colnum=[0,1,3,4,5], colval=[20,-10,20,30,10])
ep1 = awf.bbmod(ep1, right=6, thresh=10, blur=10)
ep1 = awf.bbmod(ep1, left=7, thresh=10, blur=90)

ep1 = lvsfunc.misc.fix_cr_tint(ep1)

ep1 = fvf.GradFun3(ep1, thr=0.35, radius=12, elast=8.0, mode=3, ampo=1, ampn=0, pat=32, dyn=False, staticnoise=False, thr_det=2 + round(max(1 - 0.35, 0) / 0.3), debug=False, thrc=1, radiusc=12, planes=list(range(ep1.format.num_planes)), ref=ep1, bits=ep1.format.bits_per_sample)
ep1 = kgf.adaptive_grain(ep1, strength=.25, static=True, luma_scaling=12, show_mask=False)

ep1 = havsfunc.FineDehalo(ep1)

ep1.set_output(0)
Esempio n. 5
0
import havsfunc as haf
import vsTAAmbk as taa
import awsmfunc as awf
import fvsfunc as fvf
import kagefunc as kgf

a = core.ffms2.Source("azuki-chan episode 1.mkv")
a = a.vinverse.Vinverse()
a = a.std.Crop(left=4, right=8, top=2)
a = a.fb.FillBorders(right=1)
a = a.fb.FillBorders(left=1, mode="fixborders")
a = awf.bbmod(a, top=4, thresh=60, blur=10)
a = awf.bbmod(a, left=4, thresh=3, blur=500)
a = awf.bbmod(a, right=1, thresh=90, blur=40)
a = awf.bbmod(a, right=6, thresh=2, blur=100)
a = haf.FineDehalo(a)
a = taa.TAAmbk(a, "Nnedi3")
a = fvf.GradFun3(a,
                 thr=0.35,
                 radius=12,
                 elast=8.0,
                 mode=3,
                 ampo=1,
                 ampn=0,
                 pat=32,
                 dyn=False,
                 staticnoise=False,
                 thr_det=2 + round(max(1 - 0.35, 0) / 0.3),
                 debug=False,
                 thrc=1,
                 radiusc=12,
Esempio n. 6
0
opfix = rektlvls(opfix, colnum=[638], colval=[8],
                 prot_val=[60, 190])  # 692 957 805

opfix = opfix.resize.Bicubic(format=RGBS,
                             matrix_in_s="170m",
                             range_in_s="limited")
dpir = lvf.deblock.autodb_dpir(opfix,
                               strs=[55, 65, 115],
                               thrs=[(0.0, 0.0, 0.0), (1.0, 1.2, 1.5),
                                     (3.0, 3.8, 4.5)],
                               cuda=False).resize.Bicubic(
                                   format=YUV444P16,
                                   matrix_s="170m",
                                   dither_type="error_diffusion")

dpir = haf.FineDehalo(dpir, rx=2, ry=2, brightstr=1.8, darkstr=0.2)
#dpir = core.std.Merge(haf.FineDehalo(dpir, rx=1.8, ry=1.8, brightstr=1.8, darkstr=0), dpir, weight=[0.4, 0.6])

# >
opfix = core.std.Expr([
    opfix.resize.Bicubic(
        format=YUV444P16, matrix_s="170m", dither_type="error_diffusion"), dpir
], "x y min")
opfix = lvf.deblock.vsdpir(opfix,
                           strength=10,
                           matrix=opfix.get_frame(0).props["_Matrix"],
                           cuda=False)

mask = rvf.masking.fineline_mask(
    G41Fun.Hysteria(opfix, lthr=180, hthr=1, lcap=255),
    thresh=30).std.Maximum().std.BoxBlur().resize.Spline36(format=GRAY16)