Osmiridium
5th February 2006, 22:26
Hiya people
Recently I've been struggling to get rid of flicker on a capture from an old local history video. If I haven't been using the existing filters properly - then my apologies to the authors.
Strong temporal smoothing was able to kill the flicker - but of course smoothed out way too much detail. But then an idea struck while reading about Fizick's EquLines filter. What if I used a super-smoothed clip merely as a reference - and fed the average luma for each line of this reference clip back into the source clip? I knocked together a little scriptette and plugin-ette to test this - and (for my video at least) it worked pretty well. Detail was preserved, and the flicker was very much reduced.
It may be of use to someone else - so here it is then. Each clip can be in YUY2 or YV12 format - but their heights must be the same. I should say I'm very much a video newbie, so I hope this hasn't all been done before. :scared:
LoadPlugin("wdeflicker.dll")
dodgy=AviSource("flickery_clip.avi")
smoothed=dodgy.TemporalSoften(5,40,40,70) # Smooth out any flicker
WDeflicker(dodgy,smoothed) # Deflicker clip "dodgy", using clip "smoothed"
Recently I've been struggling to get rid of flicker on a capture from an old local history video. If I haven't been using the existing filters properly - then my apologies to the authors.
Strong temporal smoothing was able to kill the flicker - but of course smoothed out way too much detail. But then an idea struck while reading about Fizick's EquLines filter. What if I used a super-smoothed clip merely as a reference - and fed the average luma for each line of this reference clip back into the source clip? I knocked together a little scriptette and plugin-ette to test this - and (for my video at least) it worked pretty well. Detail was preserved, and the flicker was very much reduced.
It may be of use to someone else - so here it is then. Each clip can be in YUY2 or YV12 format - but their heights must be the same. I should say I'm very much a video newbie, so I hope this hasn't all been done before. :scared:
LoadPlugin("wdeflicker.dll")
dodgy=AviSource("flickery_clip.avi")
smoothed=dodgy.TemporalSoften(5,40,40,70) # Smooth out any flicker
WDeflicker(dodgy,smoothed) # Deflicker clip "dodgy", using clip "smoothed"