Great Dragon
14th February 2015, 00:11
Hello All,
I have a simple avs-script that doest work with avs2avi while it works fine with AvsPmod or VirtualDub. An output file simply isn't creating.
http://thumbnails110.imagebam.com/38986/933bfc389850192.jpg (http://www.imagebam.com/image/933bfc389850192)
simple avs script
avisource("pass1.avi")
RemoveDirtMC_SE()
batch script
avs2avi pass2.avs pass2 -c lags -w
I use RemoveDirtMC_SE v1.2
Can someone tell me why is it so and provide any help please?
StainlessS
15th February 2015, 02:35
Never heard of that plug before (AvsFilterNet.dll), SAPikachu (D9 member I think) is the author, perhaps he will pop by.
Here something on that plug.
http://forum.videohelp.com/threads/342111-RemoveDirtMC
EDIT: Which links to here: http://forum.doom9.org/showthread.php?t=158925
Reel.Deel
15th February 2015, 10:13
How about modifying the script to use NLMeansCL2 (http://forum.doom9.org/showthread.php?t=171379)? This would eliminate the need for NLMeansCL and it's dependancies (AvsFilterNet.dll, Cloo.dll, NLMeansCL_netautoload.dll).
Great Dragon
15th February 2015, 17:00
Thanks for pointing me to the updated version. NLMeansCL2 (http://forum.doom9.org/showthread.php?t=171379) works good. No bugs I had with original version.
Of course I had to change some settings in RemoveDirtMC_SE to get it to work with NLMeansCL2.
In string #100 change 'plane=4' to 'u=3,v=3'
Great Dragon
15th February 2015, 17:42
In case someone want to get already changed script
#########################################################################################################################
### ###
### RemoveDirtMC ###
### v1.3 ###
### **SPECIAL EDITION** ###
### By NEPHILIS ###
### @2011 ###
### mod by Great Dragon to work with NLMeansCL2 ###
#########################################################################################################################
##################################################################
## ##
## -------------- ##
## Requirements : - MVTools (v2.5.11.2) ##
## -------------- - Masktools (v2.0a48) ##
## - RemoveGrainT (v1.0) package ##
## - RemoveDirt (v0.9) package ##
## - AvsRecursion (v0.2) ##
## - FluxSmooth (v1.1) ##
## ##
## As Additional ##
## -------- ##
## => To Prefiltering with FFT3DFilter ##
## - FFT3DFilter (v2.1.1) ##
## - FFTW3.dll ##
## -------- ##
## => To Prefiltering with NLMeansCL2 ##
## - NLMeansCL2.dll v0.4.0 (2015-01-08) ##
## ##
##################################################################
##########################################################################################################################
# ------- #
# Usage : #
# ------- #
# #
# RemoveDirtMC_SE(clip input, bool"GPU", int"radius", int"repmode", int"clmode", bool"TwoPass", int"thSAD", int"thSADC") #
# #
##########################################################################################################################
##################
# ----------- #
# PARAMETERS: #
# ----------- #
##################
##########################################################################################################################
#
# ----------
# GPU : -- To choose NLMeansCL or FFT3Dfilter for PreFiltering process.
# ---------- ATI GPU owners should use "GPU=false"
#
# ----------
# Radius : -- Temporal Radius for MDeGrain at second stage DeNoising.
# ----------
#
# ----------
# repmode : -- Repair mode value in main RemoveDirtSE function.
# ----------
#
# ----------
# clmode : -- RemoveGrain mode value in main RemoveDirtSE function.
# ----------
#
# ----------
# Twopass : -- To make a Temporal Denoising (MDeGrain) after Spatial Denoising (RemoveDirtSE).
# ----------
#
# ----------
# thSAD,
# thSADC : -- MDeGrain's thSAD and thSADC parameters.
# ----------
#
##########################################################################################################################
Function RemoveDirtMC_SE(clip input, bool"GPU", int"radius", int"repmode", int"clmode", bool"TwoPass", int"thSAD", int"thSADC")
{
version = "v1.3"
GPU = default(GPU, true)
radius = default(radius, 2)
repmode = default(repmode, 16)
clmode = default(clmode, 5)
TwoPass = default(TwoPass, true)
thSAD = default(thSAD , 150)
thSADC = default(thSADC, thSAD)
ox = input.width()
oy = input.height()
HD = (ox== 1920 || oy>= 800) ? true : false
blksize = (HD==true) ? 16:8
search = (HD==true) ? 4:5
overlap = blksize/2
src = input
PreNR = (GPU==true) ? src.NLMeansCL2(h=radius*1.5,u=3,v=3).TemporalDeGrain(5,9) \
: src.FFT3DFilter(sigma=radius*2,plane=4,bw=16,bh=16,ow=8,oh=8,bt=3,wintype=1).TemporalDeGrain(5,9)
PreNR_super = MSuper(PreNR,hpad=4,vpad=4,pel=2,sharp=2)
src_super = MSuper(src ,hpad=4,vpad=4,pel=2,sharp=2,levels=1)
bwv1 = MAnalyse(PreNR_super, blksize=blksize, search=search, isb=true, delta=1, overlap=overlap, truemotion=true)
bwv2 = (radius>=2) ? \
MAnalyse(PreNR_super, blksize=blksize, search=search, isb=true, delta=2, overlap=overlap, truemotion=true) : BlankClip()
bwv3 = (radius==3) ? \
MAnalyse(PreNR_super, blksize=blksize, search=search, isb=true, delta=3, overlap=overlap, truemotion=true) : BlankClip()
fwv1 = MAnalyse(PreNR_super, blksize=blksize, search=search, isb=false, delta=1, overlap=overlap, truemotion=true)
fwv2 = (radius>=2) ? \
MAnalyse(PreNR_super, blksize=blksize, search=search, isb=false, delta=2, overlap=overlap, truemotion=true) : BlankClip()
fwv3 = (radius==3) ? \
MAnalyse(PreNR_super, blksize=blksize, search=search, isb=false, delta=3, overlap=overlap, truemotion=true) : BlankClip()
bcomp = MCompensate(src,src_super,bwv1)
fcomp = MCompensate(src,src_super,fwv1)
NR1 = src.RemoveDirtSE(fcomp, bcomp, repmode=repmode, clmode=clmode)
NR1_super = ( TwoPass==true ) ? MSuper(NR1,hpad=4,vpad=4,pel=2,sharp=2,levels=1) : BlankClip()
NR2 = ( TwoPass==false ) ? NR1
\ : ( radius==1 ) ? MDeGrain1(NR1, NR1_super, bwv1, fwv1, thSAD=thSAD, thSADC=thSADC)
\ : ( radius==2 ) ? MDeGrain2(NR1, NR1_super, bwv1, bwv2, fwv1, fwv2, thSAD=thSAD, thSADC=thSADC)
\ : MDeGrain3(NR1, NR1_super, bwv1, bwv2, bwv3, fwv1, fwv2, fwv3, thSAD=thSAD, thSADC=thSADC)
Return(NR2)
}
function TemporalDeGrain(clip input, int "mode", int "thr")
{
mode = default(mode, 5)
thr = default(thr, 8)
rg = RemoveGrain(input, mode=mode)
tr = TemporalRepair(rg, input)
fs = FluxSmoothT(tr,thr)
Return(fs)
}
function RemoveDirtSE(clip input, clip fcomp, clip bcomp, int "repmode", int "clmode")
{
repmode = default(repmode, 16)
clmode = default(clmode, 5)
clensed = interleave(fcomp,input,bcomp).Clense(cache=-1).selectevery(3,1)
sbegin = ForwardClense(input, cache=-1)
send = BackwardClense(input, cache=-1)
alt = Repair(SCSelect(input, sbegin, send, clensed, debug=false), input, mode=repmode)
restore = Repair(clensed, input, mode=repmode)
corrected = RestoreMotionBlocks(clensed, restore, neighbour=input, alternative=alt, gmthreshold=50, \
dist=1, dmode=2, debug=false, noise=8, noisy=12)
postNR = RemoveGrain(corrected, mode=clmode)
Return(postNR)
}
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.