View Full Version : msoften.dll ^^

Marc FD
19th October 2002, 16:04
Hi all ^^

here's my brand new last filter :
a spatial denoiser.

here's the readme for more info :

msoften.dll - spatial denoiser for avisynth - beta 1 - by MarcFD - English Readme
Technical Specifications :
This Filter is a spatial denoiser for avisynth
it works only in YUY2 colorspace. the result is 2dcleaner alike,
with almost the same speed than the K7 optimised version.
but the algo used can work with higher raduis (21x21 and more !)
with very small speed penalities. and it's preserving the structure.
the lack of precision of the denoising algo is compensed by
edge-masking guidance, with pre-denoising and post-expanding.
Syntax :
Parameters :
- radx/rady
the horizontal/vertical radius of the denosier. default = 5,5 (~11x11)
- lthr/cthr
luma threshold and chroma threshold. higher values would blend more, but
may introduce blur artifacts.
- pre/post
the number of passes of the pre-denoising / post-expanding. more is slower.
default : pre=1/post=1 . for a very noisy source it may be usefull to use
bigger values to improve the smoothing precision
- showmask
use showmask=true to see the image structure detected
by default, showmask=false
Exemples :
settings i used for tests (zone ~21x21) :

to see the image edges / structure :

to see the image edges / structure with maximal precision :

If you're good in french & english please check my translation. Thanks ^^
Copyright (C) 2002 Marc Fauconneau (e-mail : marc.fd@libertysurf.fr)

download it on my site ^_^

19th October 2002, 16:22
No bug for me
and a good result with default options (but strange things when I change it :))

without msoften

with msoften

with 2dcleaner

Marc FD
19th October 2002, 18:29

cool, zelgadis greywolf without mosquito noise. Slayers, Slayers Next or Slayers Try ??


Beta 2 is out.
a bugfix for chroma and some optimisation ^^

19th October 2002, 18:31
Slayers try (slayers is a stupid anime that's why I love it:D)

and for the beta 2 the real link is http://ziquash.chez.tiscali.fr/msoften%20beta2.zip
you update the file but not the link :)

Marc FD
19th October 2002, 18:34
yep i saw it. just fixed ^^

whow talking on 2 boards is the meantime is strange ^^
and the better is that we need to translate each time ^_^

19th October 2002, 18:37
A bit strange but it works well!:)

Marc FD
19th October 2002, 18:48
i'm too fast i've rushed myself ^^
okay i just updated my signature ^_^

i want to play with msoften, but it's too slow :(
but i've a terrific idea to make it twice faster :devil:

let's code ^^

19th October 2002, 18:49
it's slow.......4 or 5 fps on my computer (1GHz TB)

Marc FD
19th October 2002, 20:54
4-5 fps ? you're lucky it works at 3-4 fps for me (in 720x576 with radius of 10)

but if i want i can go to 10 fps. and the quality is horrible ^_^


new version : beta3 with a Pixel Locker to (hopfully) improve performance (quality,speed and compressibility) ^^

Marc FD
20th October 2002, 10:43

Beta4 out ^^

20th October 2002, 11:08
your sig doesn,t seem to be updated.your page says"last updated 09-09-02".i would really like to test your new filter.

Marc FD
20th October 2002, 11:16
A denoiser optimised for big spatial raduis,
with edge-masking and Temporal Denoising

(20.10.02) Beta 4 - download
Beta 4 Changes :

- Double-Filtered Temporal Denoiser instead of a Pixel Locker.

yes i forgot to change the little line in the bottom ^^
i'll so it ASAP ^_^

20th October 2002, 11:27
its o.k.I managed to DL it by adding "msoften%20beta4.zip"to the end of your webpage address.Will test soon - Thankyou.

20th October 2002, 16:20
It alters image in an interesting way. That looks better than blurring that is produced by canonic spatials.

(not _better_ but more fun, that's for sure)

(less ugly hehehe)

Works *very* well with uniforms. It will be a great tool for filtering of ugly noisy animation rips.

Good job on this one, Mark.

PS. Any way to tweak a edge mask's threshold?

Marc FD
20th October 2002, 18:30
yep it preforms good on big uniform areas because it's able to smooth very wide areas while preserving structure (like a 41x41 area if you want ^^)

the effect is close from 2dcleaner for me.
and it's slow. maybe a bit less with speed=5, who gave me very good results. (8 fps)

BTW, i noticed the effect on compressibility is not very big. because it's not blurring the image ^^.

Any way to tweak a edge mask's threshold?

? in fact the thresholds _are_ the mask tresholds ^_^

you just don't see the effect with showmask=true. i can add it if you want.

i just finished a 3dcleaner filter. i'll test a bit an release.

20th October 2002, 21:59
One more thing i noticed.

I get small picture disortions on shaky source. They look identical to one's that are generated by dnr algorithms. Are there any "pixel lock" routines in a filter?

Marc FD
21st October 2002, 07:36
yep, there is a pixel locker in beta 3 . and a unfiltered one.
it looked ugly, so i changed it with a temporal denoiser.

if you don't want any temoral filtering trick to speed up encoding,
use speed = -1
i used speed=5 and i gived me a good (and faster) result. (no noticable noise)

do as you like ^_^

22nd October 2002, 12:00
I am getting an avisynth error on my resize line if i put msoften before resize.I get no errors when putting it after resize.

I have tried different resize filters and msoften settings with no luck yet.

Marc FD
22nd October 2002, 16:39

i'll try to reproduce it.

Thx for the bug report

29th October 2002, 06:20
Another great filter Marc!

These last couple of days I've been re-working my noise filters and finally got around to testing this wonderful filter.

The defaults work great, and the only thing I had to change to was set pre to 0 because it wasn't detecting some lines that were in dark spots. Wasn't sure what the defaults for chroma and luma threshes were, but setting pre to 0 works so hey :)

The built in temporal denoiser might benifit from a motion detection as I found I needed more temporal denoising, but when I increased speed beyond 5 I came up with some artificats from motion. So for now I've disabled it (speed=-1) and use a seperate temporal smoother with motion detection.

I can verify this issue with msoften not wanting to work before a resize. It also doesn't work when convolution3d is placed after it.


29th October 2002, 08:57
Do you think it would be possible to make it only smooth the chroma, like SmartSmootherIQ? Something like SSIQ with the speed of your filter would be incredible, and the huge radius would probably help it a lot too!

Marc FD
29th October 2002, 22:00

>Do you think it would be possible to make it only smooth the chroma,
>like SmartSmootherIQ? Something like SSIQ with the speed of your filter
>would be incredible, and the huge radius would probably help it a lot >too!

i like when users ask for existing features ^^

something like msoften(10,10,0,10,..) should do it. (only UV filtering)


as i said, i don't like the temporal part. it was an idea to get some cool speedup. i'll disable it in a next version.

But i won't release anything in a near future.
I've stopped developpement for a long time.
I'm back to encoding, like a did before begining devellopement for Cnr2.

I'll continue to lurk on doom9 to see how things move, and sometimes post if there is a pb with one of my filters.

Bye, until i get the devel virus again ^^

29th October 2002, 23:34
LOL :rolleyes: Sorry, I didn't try your filter yet. Just from reading over this thread quickly it sounded like maybe the chroma was just taken into account to help with the overal smoothing.
*goes to try it out*

*tried it out*
It doesn't fix the rainbows like ssiq does :(

30th October 2002, 01:00
Originally posted by Marc FD

I've stopped developpement for a long time.

*sob* I guess this means mpeg2decPP is dead in the water...


I really like mpeg2decPP and was really looking forward to a stable version. *sob*

2nd November 2002, 01:37
It doesn't fix the rainbows like ssiq does

I take that back! It DOES, and boy does it really do a good job at it! OMG I cant believe this, its so fast at it too! I must have put in the parameters wrong when I was messing with it the other day. Awesome work on this Marc, this is now the de-facto standard for smoothers, IMO :)

2nd November 2002, 02:03
Ok, I've got a few questions now, I hope you dont mind answering. I don't completely understand what the pre and post do. Could you try explaining this in more detail?
Also, when smoothing the chroma to get rid of rainbows, the color fades out. I tried using tweak to get it looking correct again but no luck. Is there any way to correct the color after smoothing the chroma, or do I have to choose one or the other (good color + rainbows or bad color + no rainbows)?

2nd November 2002, 04:28

Just from what I know, the pre and post control the edge dection and color expansion. You can see exactly what kind of effects it has by showmask=true. If it's not detecting enough edges then you can set pre=0 and if it's causing too much color expansion then you can increase post > 1.

Marc FD
2nd November 2002, 11:52

maybe it's because the rainbows are averaged ?


yes, it's that :

pre can be used if you see noise (like blocks edges) detected in the mask.
post is making the mask bigger, to have better structure preservation, but less smoothing too. i setted pre=1 and post=1 by default, because it seemed to be all-around values. but i like to let tweaking control to users. my filters are a bit harder to use, but you can do whatever you want with ^^