I tried a simple MDegrain2 with your clip:
Code:
LoadPlugin("E:\Apps\VideoTools\DGDec\DGDecode.dll")
MPEG2Source("F:\Test\sample.d2v", idct = 4)
RemoveNoise2(threshold = 800)
function RemoveNoise2(clip video, int "threshold")
{
last = video
threshold = default(threshold, 300)
sc = MSuper(hpad = 16, vpad = 16)
backward_vector2 = MAnalyse(sc, isb = true, delta = 2, blksize = 16, overlap = 4, truemotion = false, sadx264 = 4)
backward_vector1 = MAnalyse(sc, isb = true, delta = 1, blksize = 16, overlap = 4, truemotion = false, sadx264 = 4)
forward_vector1 = MAnalyse(sc, isb = false, delta = 1, blksize = 16, overlap = 4, truemotion = false, sadx264 = 4)
forward_vector2 = MAnalyse(sc, isb = false, delta = 2, blksize = 16, overlap = 4, truemotion = false, sadx264 = 4)
MDegrain2(sc, backward_vector1, forward_vector1, backward_vector2, forward_vector2, thSAD = threshold)
f3kdb(sample_mode = 2, keep_tv_range = true, grainY = 32, grainC = 32)
return last
}
Result
You can lower the value for "threshold" in order to get more detail but also less grain removal.