View difference between Paste ID: pLQbYPU5 and n4zNifw6
SHOW: | | - or go back to the newest paste.
1
# YAHR's functions 2017-10-12
2
3
# Y'et A'nother H'alo R'educing script
4
5
function YAHR(clip clp)
6
{
7
b1    = clp.minblur(2).removegrain(11,-1)
8
b1D   = mt_makediff(clp,b1)
9
w1    = clp.aWarpSharp(depth=32,blurlevel=2,thresh=0.5)
10
w1b1  = w1.minblur(2,1).removegrain(11,-1)
11
w1b1D = mt_makediff(w1,w1b1)
12
DD    = b1D.repair(w1b1D,13) 
13
DD2   = mt_makediff(b1D,DD)
14
clp.mt_makediff(DD2,U=2,V=2)
15
}
16
17-
# YAHR A.SONY mod 1.37, original YAHR was by Didée
17+
18
# Y'et A'nother H'alo R'educing script
19
# YAHR A.SONY mod 1.38, original YAHR was by Didée
20
# good deHalo for modern DVD and other cases
21
22
function YAHR2(clip clp, int "depth", int "blur", bool "useawarp4", int "depthV", int "blurV")
23
{
24
25
depth         = Default(depth, 8)
26
useawarp4     = Default(useawarp4, false)
27-
awarp_params = defined(blurV) ? awarp_params + ",blurV=" + string(blurV) : awarp_params
27+
28
blur = defined(blurV) && !defined(blur) ? depth==0 ? 0 : blur : blur
29
30
defined(depthV) ? depthV != 0 && depth==0 ? eval("blurV=defined(blurV) ? blurV : blur Chr(3) blur=defined(blur) ? blur : 0") : depthV==0 && depth != 0 ? eval("blurV=defined(blurV) ? blurV : 0") : nop() : nop()
31
32
awarp_params = defined(depthV) ? ",depthV=" + string(depthV) : ""
33
awarp_params = defined(blurV) ? awarp_params + ",blurV=" + string(blurV) : defined(depthV) ? depthV==0 ? ",blurV=0" : awarp_params : awarp_params
34
35
b1    = clp.minblur(2).removegrain(11,-1)
36
b1D   = mt_makediff(clp,b1)
37
w1    = useawarp4 ? clp.aWarpSharp4xx(depth=depth,blur=blur,chroma=1,useawarp4=true,depthV=depthV,blurV=blurV) : eval("clp.aWarpSharp2(depth=depth,blur=blur,chroma=1" + awarp_params + ")")
38
w1b1  = w1.minblur(2,1).removegrain(11,-1)
39
w1b1D = mt_makediff(w1,w1b1)
40
DD    = b1D.repair(w1b1D,13) 
41
DD2   = mt_makediff(b1D,DD)
42
clp.mt_makediff(DD2,U=2,V=2)
43
}
44
45
46
function YAHR3(clip src, int "depth", int "radius", int "blur", bool "useawarp4", int "depthV", int "blurV")
47
{
48
depth         = Default(depth, 32)
49
radius        = Default(radius, 6)
50
src
51
edgm = EMask_dhh(ColorYUV(autogain=true), 3, 140,true)
52
hfil = YAHR2(depth=depth,blur=blur,useawarp4=useawarp4,depthV=depthV,blurV=blurV)
53
RM2  = DR_Radius_dhh(edgm.mt_inflate(),radius,0).mt_inflate()
54
DeRinging = mt_Merge(hfil, src, edgm.mt_inflate(155,155))
55
mt_Merge(src, DeRinging, RM2, u=2, v=2)
56-
function YAHRmask(clip input, int "expand", int "warpdepth", int "blur", bool "useawarp4", clip "yahr", int "depthV", int "blurV") {
56+
57
58
59
# YAHRmask, by Tophf
60
# With slight modifications (merging both functions into one). Output should be identical.
61
62-
    yahr  = defined(yahr) ? yahr : input.YAHR2(warpde, blur, useawarp4, depthV, blurV)
62+
function YAHRmask(clip input, int "expand", int "warpdepth", int "blur", bool "useawarp4", clip "yahr", int "warpdepthV", int "blurV") {
63
64
    expand = Default(expand,     5)
65
    warpde = Default(warpdepth, 32)
66
    blur   = Default(blur,       2)
67
    
68
    yahr  = defined(yahr) ? yahr : input.YAHR2(warpde, blur, useawarp4, warpdepthV, blurV)
69
    
70
    input
71
    vEdge = mt_lutxy(last, mt_expand().mt_expand(),"x y - abs 8 - 7 <<")
72
    
73
    mt_merge(yahr, vEdge.binomialblur(expand*2, u=1, v=1)
74
    \ .mt_lut("x 4 <<")
75
    \ .mt_logic(vEdge.removegrain(12, -1)
76
    \ .mt_invert(), "min"), true)
77
}