Arnie.d,
here's my first crack at it.
ConvertToYV12()
########## set black level, adjust gamma, saturation/hue
Levels(15,1.2,240,0,255)
Tweak(sat=1.5,hue=-5)########## prefilter (for obtaining motion vectors)
source = last
source.TemporalSoften(7,255,255,25,2).Repair(source,9)########## get motion vectors
bw_vec1 = last.MVAnalyse(isb=true, delta=1,pel=2,sharp=1,overlap=4,idx=1)
fw_vec1 = last.MVAnalyse(isb=false,delta=1,pel=2,sharp=1,overlap=4,idx=1)########## apply motion vectors
bw1 = source.MVCompensate(bw_vec1,idx=2,thSAD=400)
fw1 = source.MVCompensate(fw_vec1,idx=2,thSAD=400)########## 1st degrain stage
inter = Interleave(bw1,source,fw1)
inter.Clense(reduceflicker=false).TemporalSoften(1,255,255,25,2)########## limit 1st degrain stage
last.Repair(inter,9)########## 2nd degrain stage
TemporalSoften(1,255,255,25,2)
SelectEvery(3,1)########## temporal min/max sharpening stage
pmax = source.MT_Logic(bw1,"max").MT_Logic(fw1,"max")
pmin = source.MT_Logic(bw1,"min").MT_Logic(fw1,"min")
MT_lutxy(last,last.RemoveGrain(12,-1),"x y - 1.7 * x +",U=2,V=2)
MT_Clamp(pmax,pmin,2,2,U=2,V=2)
-G