PDA

View Full Version : MipSmooth 1.1.1 released


sh0dan
12th November 2003, 21:06
Hi!

Edit: MipSmooth has been updated to 1.1.2

Mipsmooth v1.1.2
* Removed reduce completely, as it was causing chroma shifts. (Thanks Fizick)
* Fixed incorrect frame fetched on last mip of previous frame. (Thanks Fizick)

Mipsmooth v1.1.1:
* BugFix: Weigh = true was not being respected, and always turned off.
* Adjusted presets and added "MovieHQ2", "MovieLQ2".
* Bugfix: YUY2 mode never uses reduce to avoid occational crashes.
* Scalefactor now shows the individual factor of each mip in show=true.

MipSmooth 1.1:

* Added weigh = true / false. This offers a softer blurring, like soft matrix in C3D or weighed average in SmoothHiQ.
* Scenechange was only half of what it was supposed to be. All presets adjusted.
* Presets adjust - generally doing less blurring.
* Custom presets should be recreated

Note: To recreate previous smooth mode, use "weigh=false", if you use supersoft or superstrong.

Download from: http://www.zenaria.com/kpo/avisynth/mipsmooth.html

Enjoy!

jorel
13th November 2003, 02:36
:cool:

thanks for another great work!
:)

DDogg
14th November 2003, 02:21
Holy smokes, you really sped this up! Playing in full res in WMP @ 23.976. I thought I remembered a couple of versions ago watching the grass grow while trying this filter, now it is real-time ... WTG!

Also, maybe I found a critter. Precede any mipsmooth statement with converttoyuy2(). You should get "Evaluate:unrecognized exception" in VDub unless it is another one of my machine specific errors.

And, yeah, I know a person would not normally do this :) Just trying to provide a replicatable. I was trying to use it with some DV source which was rgb24 (worked) and needed yuy2 for another filter. Got the error when I added the converttoyuy2().

mpeg2source("D:\FILE.d2v").MipSmooth() #works

mpeg2source("D:\FILE.d2v").converttoyuy2().MipSmooth() #throws error

OS XPP Avs 2.53 first release

gizmotech
14th November 2003, 14:44
sounds like the old scalefactor 0.5 in yuy2 not working bug is back.

Try with MipSmooth(scalefactor=0.6) and see if it crashes.

Gizmo.

DDogg
14th November 2003, 15:08
gizmotech, good call. It works with MipSmooth(scalefactor=0.6).

Piper
14th November 2003, 15:42
Thanks for the update Sh0dan, it's much appreciated. I've had so much on the go lately, but I intend on trying this out very shortly. :)

brikin
14th November 2003, 18:29
Great filter man I really like it. I did run into a weird problem so I thought I would post it.

If I run this script using TMPGEnc
##############################################
AviSource("TestChopper.avi")

ConvertToYUY2(interlaced=true)

SeparateFields()
odd=SelectOdd.MipSmooth(preset = "VHS", scalefactor = 0.6)
oddGauva=odd.GuavaComb(Mode="NTSC", Recall=75, MaxVariation=5, Activation=30)
evn=SelectEven.MipSmooth(preset = "VHS", scalefactor = 0.6)
evnGauva=evn.GuavaComb(Mode="NTSC", Recall=75, MaxVariation=5, Activation=30)
Interleave(evnGauva,oddGauva)
LanczosResize(352,240)
Weave()

DoubleWeave.SelectOdd()

# If using TMPGEnc convert to RGB24
ConvertToRGB24(interlaced=true)
###############################################

I get an error that says "AVISynth caught an access violation at 0x01d51b1f attempting to read from 0x03fx3000"
This same script works if I use convolusion3D.

But if I use this script with UnDot everything works fine

###############################################
AviSource("TestChopper.avi")

ConvertToYUY2(interlaced=true)

SeparateFields()
odd=SelectOdd.UnDot()
oddMip=odd.MipSmooth(preset = "VHS")
oddMipGauva=oddMip.GuavaComb(Mode="NTSC", Recall=75, MaxVariation=5, Activation=30)
evn=SelectEven.UnDot()
evnMip=evn.MipSmooth(preset = "VHS")
evnMipGauva=evnMip.GuavaComb(Mode="NTSC", Recall=75, MaxVariation=5, Activation=30)
Interleave(oddMipGauva,evnMipGauva)
LanczosResize(352,240)
Weave()

DoubleWeave.SelectOdd()

# If using TMPGEnc convert to RGB24
ConvertToRGB24(interlaced=true)
###############################################

If you need any information let me know.

DarkNite
16th November 2003, 09:38
I just wanted to say thank you for all your hard work on this filter, and in other areas as well. Great improvement from when I first tried this filter. Keep up the good work.

sh0dan
16th November 2003, 10:45
There is probably a bug in the YUY2 reduceby2. It will be used, when scalefactor is close to 0.5 and upscaler and downscaler is bilinear. So there is two workarounds:

Use "scalefactor=0.6" or "upscaler=bicubic" on YUY2 sources.

K-Dash
19th November 2003, 23:25
Thx again, great work.

jorel
20th November 2003, 00:32
i did a kvcd (harry potter, ~155 minutes)with audio 128-48k using:

MipSmooth(preset="MovieHQ")
Undot()
Asharp(1,4)
BicubicResize(336,224,0,0.6,0,0,720,480)
TemporalSoften(2,7,7,3,2)
Deen("a3d",3,4,1,4)
DCTFilter(1,1,1,1,1,1,0.5,0)
Levels(0,1.1,255,0,255)
AddBorders(8,8,8,8)

the idea was use all this filter to got great compression!
MipSmooth give more compression and better quality than
Convolution3D(1,6,12,6,8,2.8,0)
got good result for only one cd 700mb!

:)

digitalman
20th November 2003, 20:38
Definitely a top notch filter. In laymans terms: This filter rules!!!!!!

Boulder
13th December 2003, 00:39
sh0dan,

has the weighing bug been fixed (weighing is always disabled) ? :)

sh0dan
15th December 2003, 17:44
Sorry - no - I'll get right on it!

sh0dan
17th December 2003, 21:51
Uploaded the new version to the URL above. See first post for update info and download URL.

Alxemi
17th December 2003, 22:53
Thank you very much for a new version of this great filter!!
Only one thing. can you please give us some advices about MovieHQ2 MovieLQ2? :)
Thanks again

sh0dan
17th December 2003, 23:20
Take a look at the "Examples & Tricks" section. Basicly it means - stronger blurring with lower thresholds. I've had some very good results with this, so I though I might add it.

Alxemi
17th December 2003, 23:47
Uops, missed it :D

Boulder
18th December 2003, 10:33
Thank you sh0dan, the filter's dynamite! I use it on all my TV caps these days;)

Boulder
18th December 2003, 18:44
sh0dan,

weighing is still disabled, at least when you save a custom preset with weigh=true, registry says that the value for weighing is 0. If I change this to 1, weighing is enabled when I use MipSmooth(preset="custom"). If I put any other arguments to the MipSmooth line, weighing is disabled again..

MipSmooth(preset="custom") # Weighing enabled if custom preset is available and MipSmoothWeigh=1

MipSmooth(preset="custom",spatial=4) # Weighing disabled even if MipSmoothWeigh=1!

sh0dan
18th December 2003, 23:18
strange - I'll investigate.

thanks for reporting!

brikin
18th December 2003, 23:38
Not that it is a big deal or anything but on your website you have the MovieHQ2 preset as

MovieHQ2

This preset is for natual movies in high quality.

Spatial: 2
Temporal: 2
Spatial Chroma: 3
Temporal Chroma: 3
Scenechange: 2.5
Method: SuperSoft
Downsizer: Bilinear
Upsizer: Bilinear
Scalefactor: 0.75
Weigh = true

Is the method supposed to be SuperStrong for HQ2?

Thanks for the great filter.

sh0dan
19th December 2003, 09:04
@brikin: Yes - it's a typo in the documentation. It is supposed to say "superstrong", which is the way the filter behaves. :)

Wilbert
31st January 2004, 22:02
All presets are loaded as default values. That means that it is still possible to finetune preset settings by setting individual parameters.
MipSmooth(preset = "MovieLQ")

gives the same output as

MipSmooth(preset = "MovieLQ", temporal=0)

Btw, if you set temporal=0, is that only wrt to the luma?

Chainmax
31st January 2004, 23:18
I think that there are too many presets. A newbie can get confused, and a veteran will most likely use his own settings.

gizmotech
31st January 2004, 23:41
Actually I noticed something VERY odd the other day.

Even if you set temporal to 0, but leave scenechange active the filter proceeds to "flicker" ie, it doesn't apply the same level of smoothing across a scene consistently. However, if you set scene change to 0 the spacial smoothing remains static and the scene no longer changes between smoothed and not.

Gizmo.

The Link
31st January 2004, 23:55
I think that there are too many presets. A newbie can get confused, and a veteran will most likely use his own settings.
I extremely disagree here! I like the presets (also the number of them) as they are now: They cover very common types of movies and for that there are definitly not too much of them.

Regards,
The Link

Alxemi
1st February 2004, 02:12
I think that there are too many presets. A newbie can get confused, and a veteran will most likely use his own settings.

Well, I agree :devil: Migration from c3d was a little confusing to me... Maybe a little more documentation about the presets could help the newbies

sh0dan
1st February 2004, 12:38
Originally posted by Alxemi
Well, I agree :devil: Migration from c3d was a little confusing to me... Maybe a little more documentation about the presets could help the newbies
I've been asked for suggestions on presets for various presets here, but I din't get much feedback, so you might even be able to get better results than the presets, which IMO actually still are a bit too strong.

btw, I've been using:
mipsmooth(spatial=2, temporal=2, method="superstrong", scalefactor=0.80, weigh=true, upsizer="bicubic", show=false)
AddGrain(8,0,0)


As a postprocessing filter for a while now with quite good results. Much better at removing block artifacts, while still retaining a good amount of detail. Much better than the ordinary deblockers/deringers - but also quite CPU demanding.

The Link
1st February 2004, 15:58
Well...here's some feedback:

I just used mipsmooth with vhs-preset for a real bad source: "Be Thankful For What You've Got" from Massive Attack. It was the best result i could get so for compared to my previous tries with convolution3d, spatial-, temporalcleaner and vaguedenoiser.
So I'm quite happy! :)

Regards,
The Link

Arachnotron
1st February 2004, 23:06
I love this filter. The presets are a godsend for someone like me who is just starting. Don't take them out! :D
Especially the option to use them but change one parameter is good.

I just used it on a good VHS source. I found the VHS preset a bit to blurry for my taste, so I tried MovieHQ instead. Looked very nice indeed!
:thanks:

SiliconSoul
4th February 2004, 08:45
i used this filter on a dvd source with the big3 and used the bitrate RA gave me.... used the MovieLQ preset and im oversized. 4,701,166KB or 4,591MB.... was this a problem with RA giving me the wrong bitrate or does this filter make it look better and bigger filesizes?

i also used numenu to downsize the menu...

here is the RA bitrates
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P01.16~9_1.AVS",0,9224,2235,0,6
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P02.16~9_1.AVS",0,9224,2354,0,6
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P03.16~9_1.AVS",0,9224,2264,0,6
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P04.16~9_1.AVS",0,9224,2197,0,6

and the doitfast4u bitrates
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P01.16~9_1.AVS",0,9224,2279,0,6
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P02.16~9_1.AVS",0,9224,2279,0,6
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P03.16~9_1.AVS",0,9224,2279,0,6
"C:\Winfast_workarea\dvdripping\sopranos.s1d2\SOPRANOS2\VTS__01_P04.16~9_1.AVS",0,9224,2279,0,6

here is my first avs
LoadPlugin("C:\Winfast_workarea\avsfilters\2.5\mipsmooth\MipSmooth.dll")
import("C:\Program Files\DoItFast4U\new.avs\addaudio.avs")
LoadPlugin("C:\Program Files\DoItFast4U\new.avs\mpeg2dec3.dll")
Mpeg2Source("VTS__01_P01.16~9_1.d2v",idct=0)

AddAudio()
MipSmooth(preset = "MovieLQ")

all other avs are the same except for the third one... and here it is
import("C:\Program Files\DoItFast4U\new.avs\addaudio.avs")
LoadPlugin("C:\Winfast_workarea\avsfilters\2.5\mipsmooth\MipSmooth.dll")
LoadPlugin("C:\Program Files\DoItFast4U\new.avs\mpeg2dec3.dll")
Mpeg2Source("VTS__01_P03.16~9_1.d2v",idct=0)
LoadPlugin("C:\Program Files\DoItFast4U\new.avs\decomb.dll")
Telecide()
Decimate(cycle=5)
AddAudio()
MipSmooth(preset = "MovieLQ")



please help! is it something wrong ive done or RA ? or the filter... i want to say it looks like RA gave too high bitrate...


BTW GREAT FILTER NICE RESULTS! i like it better than C3D.
going to try it out on anime later today!

sh0dan
4th February 2004, 11:40
AviSynth cannot cause oversize/undersize. It is a problem in your encoding app/codec.

gizmotech
5th February 2004, 00:53
Shodan, did you get a chance to report the error I mentioned?

With temporal @ 0, the filter insists on activating itself on and off from frame to frame, however setting the scene change threshold to 0 the filter behaves correctly as a spacial only filter.

Gizmo.

SILICON
10th February 2004, 08:32
It`s a very good filter.

I use for compresion gain a work very well. The quality are the best.

But is a sloow filter. ¿can you speed up?

sh0dan
10th February 2004, 09:23
Originally posted by gizmotech
With temporal @ 0, the filter insists on activating itself on and off from frame to frame
I will have a look - doesn't sound very logical - however, you mention the workaround yourself. Could you post exact settings to easily spot this?

@SILICON: There is no way I can think of for making this faster, without reducing the number of mips. It is on my to-do-list (as you may have noticed), but for now MipSmooth is not high on the overall todo list.

gizmotech
10th February 2004, 12:47
With a similar setting line to this:

Mipsmooth(40,0,0,0,1,method="supersoft",weigh=true,scalefactor=0.85) I could generate the error. Watching the source (more closely) you could see the filter turning on and off as edges would go from crisp to smooth quite quickly. Now,had I had the temporal aspect enabled, I suspect this might have been due to the low scene change value, as the source was quite bouncy overall, however w/o a temporal value assigned this kind of baffled me.

After having set the scene change to 0 however, the flickering on and off disappeared completely and it returned to basic spacial smoothing operations. Now I find this really confusing, but it did solve the problem.

Unfortunately I don't have any more info then that to be honest :(

Gizmo.

Fizick
14th December 2005, 22:24
sh0dan,
I play with your Derainbow script (uses mipsmooth).
http://forum.doom9.org/showthread.php?p=398106#post398106
(I duplicate this very useful function to http://www.avisynth.org/DeRainbow).

DeRainBowYUY2 works fine, but DeRainbow produce a liitle shifted chroma.
Firstly I was wondered. Blur in place of mipsmooth works without chroma shift.
Than I understand, that mipsmooth uses Reduceby2.
But Reduceby2 works not as any other Avisynth resisers!
It shifts frame by halfpixel to top left.
Recently it was pointed by Didee too:
http://forum.doom9.org/showthread.php?p=750508#post750508
So, I replace downsizer=bilinear and ... nothing is changed!
But when I replace it to "bicubic", croma shift is gone.
So, it is currently workaround. (but bicubic is not very fast)
I look to the source and discover, that mipsmooth automatically changes "bilinear" to "reduce" (for YV12).
It is not documented, therefore it is a bug. :)
Can you disable this replacing code in Mipsmooth? Or change default to bilinear? Or at least document it? :)
Other solution is rewrite Reduceby2 Avisynth function :)
(may be it is not joke for avisynth 2.6?)

P.S.About year ago, I found a very small other Mipsmooth bug, but it almost do not change the output.

Chainmax
14th December 2005, 22:44
Earlier versions of DeRainbow didn't use MipSmooth. Anyway, have you tried foxyshadis (http://forum.doom9.org/showpost.php?p=748304&postcount=26)'s mod of LB's SmartSSIQ? It's quite good (it needs SSIQ (http://yatta.mellbin.org/misc/)). Bifrost (http://yatta.mellbin.org/misc/) is pretty awesome as well.

I used to use DeRainbow until I realized that it noticeably dulled the colors on a clip I was trying it on.

sh0dan
14th December 2005, 22:52
Thanks for reporting. I'll have a look at it ASAP!

SCIF
15th December 2005, 08:25
Is there any newer version than 1.1.1? Download page(from first post of this thread) is dead. Which version is at warpenterprises?

sh0dan
15th December 2005, 10:03
@SCIF: No, and link is fixed now.

Fizick
15th December 2005, 18:26
sh0dan,
Pleas look also to line 327:

work_mips[w_mip] = curr_mips[2]->GetFrame(n,env); // probably must be n-1

and line 251:

isse_accumulate_line_org_weigh(work_src, work_planeP, mips[cmip]->GetRowSize(w_cPlane[nP]), w_thresh, c_div/4); // why /4 ?


P.S. I do not understand your code, but i see some non-consistancy :)

foxyshadis
22nd December 2005, 22:00
I was really interested in replacing smartsmoothhq with this, but I noticed that in some hi-motion scenes chroma was shifted significantly occasionally (it looks as if it uses the last frame's chroma, so it's off by 5-6 pixels). I only noticed in pans, but I didn't look too hard. If anyone wants I can try for a reproduceable test case.

I know it's not actively developed, but if Fizick wants to take a crack at updating it... ;)

Fizick
23rd December 2005, 00:37
Fizick do not want (he does not understand its code) :)

sh0dan
23rd December 2005, 12:47
Updated MipSmooth. Check first post. Hope it works!

Seems like xmas is early this year :)

DigitalDeviant
23rd December 2005, 19:21
Merry xmas indeed!

Just a quick question though. In the change log is says that the reduce downsizer has been removed so is the new default bilinear?

signal
2nd January 2006, 08:36
ACK! Link appears to be down?

sh0dan
2nd January 2006, 13:16
Some stupid script kiddie deleted all content on the server. It'll take a little time before I can reupload the files.

You can download v1.1.1 from the Filter Collection:

http://www.avisynth.org/warpenterprises/

Wilbert
2nd January 2006, 15:57
v1.1.2:

Dark Alchemist
2nd January 2006, 21:26
Sorry to hear this. :(

Best of luck and lock that server down (hopefully they didn't leave a backdoor back into it).

digitalman
26th July 2006, 19:44
This is a nice and easy to use smoother. Hope development continues on it.