TemporalCleaner is an avisynth port of the original port of the VirtualDub filter
made by Jim Casaburi (http://home.earthlink.net/~casaburi/download/#temporalcleaner).
I just added some ASM to Jim's algo.
1 - What it does
if the difference between previous pixel and current pixel is below a blur threshold
then replace the current pixel by the average between previous and current pixel
else keep current pixel.
An other trick is to add some feedback to this filter : instead of using the unfiltered
previous frame it uses the already filtered one.
Simple isn't it ?
2 - Parameters
TemporalCleaner (ythresh=5, cthresh=10)
ythresh (default value = 5) : blur luma threshold (don't go above 8 otherwise you'll have
some ghosting).
cthresh (default value = 10) : blur chroma threshold (you can safely go a little above 8 as
if luma is above threshold -> chroma is automatically kept (no blur)).
3 - Current limitations or known problems : .
- Work only with YUV2, CHECKED.
- require a Integer SSE capable CPU (no PII and K6-II), CHECKED.
- Require a mod-4 width (NOT CHECKED)
4 - Credits
Thanks to
- Jim Casaburi for the original idea (I'm just his translator ;))
- Zarxrax and Ligh for the beta testing
Vlad59 (babas.lucas@laposte.net)
Change log :
2003/01/13 beta2 :
- Some minor speedup
- Reorganize all the code to mix Avisynth 2.5 and 2.0X in the same .cpp and .h
2002/11/09 beta1 :
- Initial release