Quote:
Originally Posted by mandarinka
Sounds heavy-handed and suboptimal. I recommend using motion-compensation instead.
Here is what I routinely use:
Code:
#you need to have progressive video for this.
prerb = last
derbmask = tedgemask(threshY=9).mt_inflate()
derbsuper = MSuper()
derbbackward_vectors = MAnalyse(derbsuper, truemotion = true, isb = true, chroma=false)
derbforward_vectors = MAnalyse(derbsuper, truemotion = true, isb = false, chroma=false)
derbforward_compensation = MCompensate(derbsuper, derbforward_vectors)
derbbackward_compensation = MCompensate(derbsuper, derbbackward_vectors)
interleave(derbforward_compensation,last,derbbackward_compensation)
dfmderainbow(maskthresh=10) # Divine Buster!
selectevery(3,1)
mt_merge(prerb,last, derbmask,luma=true)
DFMDerainbow is hell of an old function, but sadly I have not found anything better so far. It must be possible to make something better, but alas nobody with the right skills/knowledge has done so
I definitely don't recommend it without edge-masking and motion-compensating (which the above does). Fluxsmooth is too dumb and the chroma blurring this thing does is quite destructive, if not contained.
(I tried mdegrain for the denoiser part, but that has severe issue with flashing pictures. You will get pretty horrible chroma bleeding into next/previous frames.)
|
Compared to sh0dan DeRainbow above? I didn't work on any source with rainbow previously, Could you tell me the strengths and weaknesses for each of them?
--------
edit: my try
https://pastebin.com/j5JVNwSP using mt_motion for motion and edge, and of course other filters
ASTDR default values may be high, ASTDR(3,15,2,FluxStv=30,edgem=true) should be enough and without noticeable artifacts or use ASTDRmc