LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\VideoScope\VScope.dll") LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\ColorMatrix\ColorMatrix.dll") import("C:\Program Files (x86)\AviSynth 2.6\plugins\histogramCMY.avs") # Loadplugin("E:\Program Files\AviSynth 2.5\plugins\FFT3DFilter.dll") Loadplugin("E:\Program Files\AviSynth 2.5\plugins\FFT3dGPU.dll") #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Decomb.dll") #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\SmoothAdjust-v1.64\SmoothAdjust-ICC-x86.dll") #Load_Stdcall_Plugin("C:\Program Files\AviSynth 2.5\plugins\yadif09\yadif.dll") ### POUR QTGMC: Loadplugin("E:\Program Files\AviSynth 2.5\plugins\mvtools-v2.5.10\mvtools2.dll") LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\masktools-v2.0a36\mt_masktools-25.dll") # pour QTGMC & GradFun2dbMod LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\RemoveGrain_v1.0\RemoveGrainSSE3.dll") # pour QTGMC & GradFun2dbMod & Limited Sharpen LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\RemoveGrain_v1.0\RepairSSE2.dll") LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\nnedi3\nnedi3.dll") Import("E:\Program Files\AviSynth 2.5\plugins\QTGMC-3.32\QTGMC-3.32.avsi") LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\QTGMC 32-bit Plugins\Avisynth 32-bit Plugins\SSE3Tools.dll") # pour support YUY2 / QTGMC # # Filtres pour GradFun2DBmod LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\gradfun2db-v1.0\gradfun2db.dll") # pour GradFun2dbMod (compatible YV12 et YUY2) LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\addgrainc_1.4\AddGrainC.dll") # pour GradFun2dbMod & GrainFactory3 (YV12 seulement selon le wiki) #Import("C:\Program Files\AviSynth 2.5\plugins\GradFun2DBmod.v1.5.avsi") # pour GradFun2dbMod # ## Filtres pour Limited Sharpen: Import("E:\Program Files\AviSynth 2.5\plugins\00-filtres_avs-npe\LimitedSharpenFaster.avs") #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\masktools-v2.0a36\mt_masktools-25.dll") LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\MaskTools-v1.5.8\MaskTools.dll") #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\RemoveGrain_v1.0\RemoveGrainSSE3.dll") LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\warpsharp_25\warpsharp.dll") # Filtre pour HDRAGC #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Hdragc-1.8.7\AGC.dll") ## #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\RemoveDirt\RemoveDirt.dll") Import("E:\Program Files\AviSynth 2.5\plugins\RemoveDirt.avsi") #LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools-v2.5.11.2\mvtools2.dll") #import("C:\Program Files\AviSynth 2.5\plugins\GrainFactory3_(yuy2)\GrainFactory3a.avsi") # support YUY2 ( de Didée) (version spéciale YUY2, ne pas effacer!) import("E:\Program Files\AviSynth 2.5\plugins\GrainFactory3.avsi") # YV12 seulement import("E:\Program Files\AviSynth 2.5\plugins\LSFmod.v1.9.avsi") # YV12 seulement # LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\unsharpHQ_v04.dll") import("E:\Program Files\AviSynth 2.5\plugins\Ylevels.avsi") # Pour NLMEANS GPU: LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\AvsFilterNet.dll") # import("C:\Program Files (x86)\AviSynth 2.6\plugins\RemoveDirt1.avs") LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\RemoveGrain_v1.0\RemoveGrain.dll") LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\depanestimate\DePanEstimate.dll") LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\depan1101src\DePan.dll") #import("C:\Program Files (x86)\AviSynth 2.6\plugins\Super.avsi") #LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\masktools-v2.0a48\mt_masktools-26.dll") LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\mvtools-v2.5.10\mvtools2.dll") LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\RemoveDirt\RemoveDirt.dll") # Import("E:\Program Files\AviSynth 2.5\plugins\Deblock_QED.avs") # pour DeblockQed LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\dctfilter\DctFilter.dll") #pour DeblockQed Import("E:\Program Files\AviSynth 2.5\plugins\GrainFactory3.avsi") # pour grainfactory LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\addgrainc_1.4\AddGrainC.dll") # pour grainfactory # Filtres pour GradFun2DBmod LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\gradfun2db-v1.0\gradfun2db.dll") # pour GradFun2dbMod #LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\addgrainc_1.4\AddGrainC.dll") # pour GradFun2dbMod Import("E:\Program Files\AviSynth 2.5\plugins\GradFun2DBmod.v1.5.avsi") # pour GradFun2dbMod LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\AvsFilterNet.dll") LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\aWarpSharp.dll") # pour ChromaBleeding LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\unsharpHQ_v04.dll") # pour ChromaBleeding function int2mode(int index) { return Select(index, "classic", "levels", "color") } # pour HISTOGRAMME AVISource("C:\Users\lin\Desktop\horrible sample.avi") assumetff() Ylevels(0, 1.000, 255, 0, 235) tweak(hue=0.0,sat=0.6,bright=0,cont=1.0,coring=false) coloryuv(gain_u=15, gain_v=-15,cont_u=0,cont_v=146) separatefields() ConverttoRGB32(matrix="rec601",interlaced=false) LoadVirtualDubPlugin("E:\Program Files\VirtualDub-1.9.8\plugins\Camcorder_Color_Denoise_sse2.vdf","CCD",1) # Denoise colors CCD(80,1) # de 0 à 100 # Défaut =30 / # LoadVirtualDubPlugin("C:\Program Files (x86)\virtualdub1.9\plugins\rgbeq.vdf", "rgbeq",1) rgbeq("20G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G201mG2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G201kG2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G201hG2020G2020G2020G2020G2020G2020G2020G2020G2020G2020G2000G0100H4H00G4100H4H00H4H00H4H00G4100G4100G4100G4100H4H00G0J000K0") LoadVirtualDubPlugin("C:\Program Files (x86)\virtualdub1.9\plugins\ColorMill.vdf", "ColorMill", 1) ColorMill(25733, 25700, 25711, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 1124, 5) converttoyv12(interlaced=false) ############ DENOISING ########################### NLMeansCL(A=4, S=2, B=1, aa=1.0, h=1.5,HC=1.5, plane=4,cpu=false,buffer=false,sse=true) # YUV # FFT3D, Filtrage UV (léger pour un poil plus smooth en vertical), ne pas changer bw,bh... fft3dfilter(sigma=2.0,sigma2=2,sigma3=2,sigma4=2, bt=3, bw=64, bh=64, ow=16, oh=16,plane=3, sharpen=0.0,interlaced=false,dehalo=0.0) # UV a=last #clense(reduceflicker=false).merge(last,0.5).clense(reduceflicker=false) mot=removegrain(11,0).removegrain(20,0).DepanEstimate(range=2) take2=a.depaninterleave(mot,prev=2,next=2,subpixel=2) clean1=take2.TMedian2().selectevery(5,2) sup1 = clean1.minblur(1).removegrain(11,0).removegrain(11,0) \ .mt_lutxy(clean1,"x 1 + y < x 2 + x 1 - y > x 2 - y ? ?",U=2,V=2) \ .msuper(pel=2,sharp=0) sup2 = a.msuper(pel=2,levels=1,sharp=2) bv22=sup1.manalyse(isb=true, truemotion=true,global=true,delta=2,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) bv21=sup1.manalyse(isb=true, truemotion=true,global=true,delta=1,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) fv21=sup1.manalyse(isb=false,truemotion=true,global=true,delta=1,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) fv22=sup1.manalyse(isb=false,truemotion=true,global=true,delta=2,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) interleave(a.mcompensate(sup2,fv22),a.mcompensate(sup2,fv21),a,a.mcompensate(sup2,bv21),a.mcompensate(sup2,bv22)) ## Nlmeans n'est pas pris en compte il semblerait) selectevery(5,2) sup3 = last.msuper(pel=2,sharp=2) bv33=sup3.manalyse(isb=true, truemotion=true,global=true,delta=3,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) bv32=sup3.manalyse(isb=true, truemotion=true,global=true,delta=2,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) bv31=sup3.manalyse(isb=true, truemotion=true,global=true,delta=1,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) fv31=sup3.manalyse(isb=false,truemotion=true,global=true,delta=1,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) fv32=sup3.manalyse(isb=false,truemotion=true,global=true,delta=2,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) fv33=sup3.manalyse(isb=false,truemotion=true,global=true,delta=3,blksize=8,overlap=4,search=5,searchparam=1,DCT=2) last.mdegrain3(sup3,bv31,fv31,bv32,fv32,bv33,fv33,thSAD=499) Interleave() weave() ###### To remove chroma bleeding (see if necessary) ############ o=last warp1=o.mergechroma(o.blur(1.0).unsharpmask(255,1,1).aWarpSharp(depth=10.0, thresh=0.75, blurlevel=3, cm=1)) warp2=o.mergechroma(warp1.blur(1.0).unsharpmask(255,1,1).aWarpSharp(depth=4.0, thresh=0.75, blurlevel=2, cm=1)) #interleave(o,warp1,warp2) # visualization warp2 ################################################################# function MinBlur(clip clp, int r, int "uv") { uv = default(uv,3) uv2 = (uv==2) ? 1 : uv rg4 = (uv==3) ? 4 : -1 rg11 = (uv==3) ? 11 : -1 rg20 = (uv==3) ? 20 : -1 medf = (uv==3) ? 1 : -200 RG11D = (r==0) ? mt_makediff(clp,clp.sbr(),U=uv2,V=uv2) \ : (r==1) ? mt_makediff(clp,clp.removegrain(11,rg11),U=uv2,V=uv2) \ : (r==2) ? mt_makediff(clp,clp.removegrain(11,rg11).removegrain(20,rg20),U=uv2,V=uv2) \ : mt_makediff(clp,clp.removegrain(11,rg11).removegrain(20,rg20).removegrain(20,rg20),U=uv2,V=uv2) RG4D = (r<=1) ? mt_makediff(clp,clp.removegrain(4,rg4),U=uv2,V=uv2) \ : (r==2) ? mt_makediff(clp,clp.medianblur(2,2*medf,2*medf),U=uv2,V=uv2) \ : mt_makediff(clp,clp.medianblur(3,3*medf,3*medf),U=uv2,V=uv2) DD = mt_lutxy(RG11D,RG4D,"x 128 - y 128 - * 0 < 128 x 128 - abs y 128 - abs < x y ? ?",U=uv2,V=uv2) clp.mt_makediff(DD,U=uv,V=uv) return(last) } # median of 5 clips from Helpers.avs by G-force Function Median2(clip "input_1", clip "input_2", clip "input_3", clip "input_4", clip "input_5", string "chroma") { chroma = default(chroma,"process") #default is "process". Alternates: "copy first" or "copy second" #MEDIAN(i1,i3,i5) Interleave(input_1,input_3,input_5) chroma == "process" ? Clense(reduceflicker=false) : Clense(reduceflicker=false,grey=true) m1 = selectevery(3,1) #MAX(MIN(i1,i3,i5),i2) m2 = input_1.MT_Logic(input_3,"min",chroma=chroma).MT_Logic(input_5,"min",chroma=chroma).MT_Logic(input_2,"max",chroma=chroma) #MIN(MAX(i1,i3,i5),i4) m3 = input_1.MT_Logic(input_3,"max",chroma=chroma).MT_Logic(input_5,"max",chroma=chroma).MT_Logic(input_4,"min",chroma=chroma) Interleave(m1,m2,m3) chroma == "process" ? Clense(reduceflicker=false) : Clense(reduceflicker=false,grey=true) selectevery(3,1) chroma == "copy first" ? last.MergeChroma(input_1) : chroma == "copy second" ? last.MergeChroma(input_2) : last Return(last) } function TMedian2(clip c) { Median2( c.selectevery(1,-2), c.selectevery(1,-1), c, c.selectevery(1,1), c.selectevery(1,2) ) } function RemoveDirt(clip input, int limit, bool _grey) { clensed=input.Clense(grey=_grey, cache=4) alt=input.RemoveGrain(2) return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,dmode=2,debug=false,noise=limit,noisy=4, grey=_grey) # Alternative settings # return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey,show=true) # return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,tolerance= 12,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey,show=false) } ############ ANALYSE ####################### #ColorYUV(analyze=true) #UtoY() # analyse U #VtoY() # analyse V #Histogram(int2mode(1)) # Avec Slider pour HISTOGRAMME #Histogram(mode="luma") # mode lumière (npe) #HistogramRGBParade() #HistogramRGBLevels #HistogramCMYLevels(range=true) #ConverttoYUY2(interlaced=true) # pour VIDEOSCOPE #VideoScope("both", true, "Y") # pour niveaux lumière #VideoScope("side", true, "UV") # pour niveaux couleurs #VideoScope("both",true, "U", "V", "UV") # Analyse YUV: #Y = GreyScale() #U = UtoY() #V = VtoY() #StackHorizontal(Y, StackVertical(U,V))