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 | } |