Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 26th October 2002, 04:45   #1  |  Link
Zarxrax
Registered User
 
Zarxrax's Avatar
 
Join Date: Dec 2001
Location: Concord, NC
Posts: 1,168
Filter Request

Does anyone know of any avisynth plugins that are similar to Jim Casabury's Temporal Cleaner filter for vdub? I always use this filter on all of my encodes, and it works very nicely for me, however its the only thing holding me back from doing all of the processing in avisynth. If there are no similar avisynth filters, perhaps someone could port it over to avisynth?
Zarxrax is offline   Reply With Quote
Old 26th October 2002, 10:26   #2  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 4,727
In MPEG2DEC.DLL you have a TemporalSmoother, and you can use Convolution3D to construct such kind of filter.

+: msoften by MarcFD could be interesting as well (look fo his URL in his signature in many posts around here).

Last edited by LigH; 26th October 2002 at 10:31.
LigH is offline   Reply With Quote
Old 26th October 2002, 12:20   #3  |  Link
Marc FD
XviD fan
 
Marc FD's Avatar
 
Join Date: Jun 2002
Location: France
Posts: 907
msoften is a spatial cleaner. more like 2dcleaner

the temporal part is not very good. i'll drop in next release.
but i'm trying some new temporal thingies... wait'n'see ^^
Marc FD is offline   Reply With Quote
Old 26th October 2002, 16:36   #4  |  Link
Zarxrax
Registered User
 
Zarxrax's Avatar
 
Join Date: Dec 2001
Location: Concord, NC
Posts: 1,168
Hmmm. Convolution3d doesnt seem to work very well. Using Convolution3D(1,0,0,20,20,3,0) I was able to get the file down to about the same size as if I used temporal cleaner with blend 5 and pixel lock 3. However the Conv3d is SLOW. My encode goes 50% faster if I just do full procesing mode and apply temporal cleaner in vdub.
Also does anyone know if this setting for Conv3d can cause and sort of ghosting effect?

I wasnt aware of mpeg2dec.dll having any temporal smoother function. Are you talking about a modified version perhaps?
Zarxrax is offline   Reply With Quote
Old 26th October 2002, 17:08   #5  |  Link
Manao
Registered User
 
Join Date: Jan 2002
Location: France
Posts: 2,856
Convolution3d does work very well : of course, it is slow, but at low setting ( preset="movieHQ" for example, aka 0,3,4,3,4,2.8,0 ), it doesn't harm the movie ( at least not visibly for me ), and however allows a sensible size reduction.

It does a temporal and a spatial cleaning, a temporal one when the picture is still, a spatial one when there is a lot of motion, so it prevents ghosting artefacts from appearing, at least at low settings

I never got ghosting artefacts, but I only used values given by vlad in his readme, ie I never went beyond (1, 12, 22, 8, 8, 2.8, 0). But with the great values you gave to luma and chroma temporal threshold, it could happen.
Manao is offline   Reply With Quote
Old 26th October 2002, 17:14   #6  |  Link
vlad59
Vlad, the Buffy slayer
 
vlad59's Avatar
 
Join Date: Oct 2001
Location: France
Posts: 445
Quote:
Originally posted by Zarxrax
Hmmm. Convolution3d doesnt seem to work very well. Using Convolution3D(1,0,0,20,20,3,0) I was able to get the file down to about the same size as if I used temporal cleaner with blend 5 and pixel lock 3. However the Conv3d is SLOW. My encode goes 50% faster if I just do full procesing mode and apply temporal cleaner in vdub.
Also does anyone know if this setting for Conv3d can cause and sort of ghosting effect?

I wasnt aware of mpeg2dec.dll having any temporal smoother function. Are you talking about a modified version perhaps?
Convolution3D's aim is to use spacial AND temporal information to smooth the movie and make it more compressible. So having 0 spacial threshold is not a normal use. If you want to only use temporal filtering use temporalSmoother or TemporalSoften.

Settings of 20, 20 can cause some little ghosting but not a lot.
__________________
Vlad59
Convolution3D for avisynth 2.0X : http://www.hellninjacommando.com/con3d
Convolution3D for avisynth 2.5 : http://www.hellninjacommando.com/con3d/beta
vlad59 is offline   Reply With Quote
Old 26th October 2002, 17:45   #7  |  Link
Zarxrax
Registered User
 
Zarxrax's Avatar
 
Join Date: Dec 2001
Location: Concord, NC
Posts: 1,168
I tried temporal soften, but it doesnt work nearly as well as temporal cleaner does. Apparently all these temporal filters work on the video differently than temporal cleaner does. For example when I used the values 6,25,25 with temporal softer, I get bad ghosting, and it only makes my test clip 1.5mb. With temporal cleaner, settings of 5,3 (always use these same settings), the same clip will be only 1.32mb large. Also temporal cleaner at this setting has NEVER caused any ghosting in anything that I've encoded.
I guess its just kinda weird, temporal cleaner is like a miracle filter for me, but its so old you would think something better would be along :\
Zarxrax is offline   Reply With Quote
Old 26th October 2002, 18:50   #8  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 4,727
In case of a really bad need, you will always have the option to load it as VirtualDub filter, but then it will have to work in RGB color space. Not very fast though, I guess...
LigH is offline   Reply With Quote
Old 26th October 2002, 19:16   #9  |  Link
vlad59
Vlad, the Buffy slayer
 
vlad59's Avatar
 
Join Date: Oct 2001
Location: France
Posts: 445
Are you sure there is not any version of temporal cleaner for avisynth ??

Because by looking at the code, there is an YUV processing mode so it shouldn't be too hard to translate it to avisynth.

if there isn't any I could try to translate it.
__________________
Vlad59
Convolution3D for avisynth 2.0X : http://www.hellninjacommando.com/con3d
Convolution3D for avisynth 2.5 : http://www.hellninjacommando.com/con3d/beta
vlad59 is offline   Reply With Quote
Old 26th October 2002, 19:31   #10  |  Link
Zarxrax
Registered User
 
Zarxrax's Avatar
 
Join Date: Dec 2001
Location: Concord, NC
Posts: 1,168
Well, I've never came across an avisynth version. There's not one listed on Chris' page, nor on avisynth.org.
If you could convert it, it would be greatly appreciated
Zarxrax is offline   Reply With Quote
Old 26th October 2002, 20:01   #11  |  Link
vlad59
Vlad, the Buffy slayer
 
vlad59's Avatar
 
Join Date: Oct 2001
Location: France
Posts: 445
I still don't understand totally all the pixellock parameters maybe you can help me ?

But for the rest I start now.

EDIT : I just understood !!!!! I was stupid enought to start reading the code (well written) before reading the docs (much clearer)

Stupid me
__________________
Vlad59
Convolution3D for avisynth 2.0X : http://www.hellninjacommando.com/con3d
Convolution3D for avisynth 2.5 : http://www.hellninjacommando.com/con3d/beta

Last edited by vlad59; 26th October 2002 at 20:17.
vlad59 is offline   Reply With Quote
Old 26th October 2002, 22:26   #12  |  Link
vlad59
Vlad, the Buffy slayer
 
vlad59's Avatar
 
Join Date: Oct 2001
Location: France
Posts: 445
I coded a very simple filter heavily based on TemporalCleaner but with no pixel lock (at least for the moment).

The result :
- Visual quality is not a lot better (you can still see a lot of noise in my sample) but not worse ().
- Compressibility is better (First pass size dropped by 13%)
- speed penalty is not so important (I made some iSSE optimizations) and it's way faster than convolution3d .

I'll try to have Jim Casaburi (or neuron2 as Jim's readme talks about Donald) agreement before attaching my filter to this thread.

@Zarxrax

Can you explain me what are your prefered parameters (I need your experience to make test).

EDIT : rewrite the compressibility part to explain better.
__________________
Vlad59
Convolution3D for avisynth 2.0X : http://www.hellninjacommando.com/con3d
Convolution3D for avisynth 2.5 : http://www.hellninjacommando.com/con3d/beta

Last edited by vlad59; 27th October 2002 at 07:38.
vlad59 is offline   Reply With Quote
Old 26th October 2002, 22:49   #13  |  Link
Zarxrax
Registered User
 
Zarxrax's Avatar
 
Join Date: Dec 2001
Location: Concord, NC
Posts: 1,168
I've always left scene change at 30. I uncheck the box "Process in YUV colorspace" as well, since it slowed the filter down (i imagine this mode will always be enabled for the avisynth version, correct?).

I always use a value of 5 for the blending threshold and 3 for the pixel lock. I used to use 6,4 but I would occasionally notice some slight ghosting, so I dropped it down a notch to be on the safe side. The value of 5,3 seems to be the perfect value IMO. Note that I only encode anime, so different values might work better for live action.
Zarxrax is offline   Reply With Quote
Old 27th October 2002, 07:37   #14  |  Link
vlad59
Vlad, the Buffy slayer
 
vlad59's Avatar
 
Join Date: Oct 2001
Location: France
Posts: 445
Can you make some test with and without the pixel locker (set it to 0) and give me impression about visual quality and compressibility.


Thanks in advance.
__________________
Vlad59
Convolution3D for avisynth 2.0X : http://www.hellninjacommando.com/con3d
Convolution3D for avisynth 2.5 : http://www.hellninjacommando.com/con3d/beta
vlad59 is offline   Reply With Quote
Old 27th October 2002, 08:12   #15  |  Link
Zarxrax
Registered User
 
Zarxrax's Avatar
 
Join Date: Dec 2001
Location: Concord, NC
Posts: 1,168
Alright, ill set up a bunch of tests to encode overnight.
Zarxrax is offline   Reply With Quote
Old 27th October 2002, 11:08   #16  |  Link
jorel
Guest
 
Posts: n/a
can anyone write a "script" (command line?),
learning how to use convolution3d?

thanks in advance!
  Reply With Quote
Old 27th October 2002, 18:08   #17  |  Link
vlad59
Vlad, the Buffy slayer
 
vlad59's Avatar
 
Join Date: Oct 2001
Location: France
Posts: 445
@Jorel

You'll find a .txt with convolution3d, you should find your answer here. If you have other question please post in the convolution3d v1.00 thread.

Thanks in advance.

@Zarxrax (difficult name )

I manage to build an avisynth dll for you to do some beta test. The use of the filter is fairly easy as I haven't kept all Jim Casaburi parameters : I only kept the blur thresholds :

TemporalCleaner (ythresh=5, cthresh=10)

ythresh (default value = 5) = luma threshold -> blur if the absolute difference between current luma value and previous luma value is below that threshold.

cthresh (default value = 10) = chroma threshold -> blur if the absolute difference between current chroma value and previous chroma value is below that threshold.

Like Jim Casaburi, I use the already processed previous frame (not the unprocessed one). So if you want to make test on a specific frame (in Vdub) :
go 4 or 5 frame before your test frame and then use the right arrow to reach your frame.

WARNING :
- this filter is written in iSSE ASM so it won't work with PII, K6II
and old Celeron.
- You must have a mod 4 width source to use this filter otherwise it could crash your computer.

You can download it
here
__________________
Vlad59
Convolution3D for avisynth 2.0X : http://www.hellninjacommando.com/con3d
Convolution3D for avisynth 2.5 : http://www.hellninjacommando.com/con3d/beta
vlad59 is offline   Reply With Quote
Old 27th October 2002, 19:58   #18  |  Link
Zarxrax
Registered User
 
Zarxrax's Avatar
 
Join Date: Dec 2001
Location: Concord, NC
Posts: 1,168
Ok, heres the results of the tests I ran last night. It was quite shocking, the pixel lock had very little effect on reducing the filesize, and in most cases, it actually made the file larger! So it seems the blending feature is the "important" one

Looking at the clips now, I'm not quite sure what happened. Even with large thresholds, I see no motion trails being left behind. This was a serious problem at higher thresholds when I did my original tests about a year ago, and the filter has not changed any... Due to this I'll refrain from posting my results I got until after I get this sorted out. I'll give your filter a run through too.
Zarxrax is offline   Reply With Quote
Old 27th October 2002, 20:13   #19  |  Link
vlad59
Vlad, the Buffy slayer
 
vlad59's Avatar
 
Join Date: Oct 2001
Location: France
Posts: 445
Quote:
Originally posted by Zarxrax
Ok, heres the results of the tests I ran last night. It was quite shocking, the pixel lock had very little effect on reducing the filesize, and in most cases, it actually made the file larger! So it seems the blending feature is the "important" one
I'm happy we have the same result here
That's why I haven't kept the pixel locker in the test version I compiled.

I'm waiting for your comments about my reading of Jim's code.
__________________
Vlad59
Convolution3D for avisynth 2.0X : http://www.hellninjacommando.com/con3d
Convolution3D for avisynth 2.5 : http://www.hellninjacommando.com/con3d/beta
vlad59 is offline   Reply With Quote
Old 27th October 2002, 22:15   #20  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 4,727
Thank you very much, vlad59 - your filter works very well on my AMD Duron-800. Using my "Array4x4" snippet -- http://www.ligh.de/software/Array4x4.rar -- I am now checking for the perfect values for y and c thresholds, like that:

Code:
LoadPlugin("?:\*\mpeg2dec.dll")
LoadPlugin("?:\*\TemporalCleaner.dll")
Import("?:\*\Array4x4.avs")
mpeg2source("?:\*\*.d2v")
Test4x4("TemporalCleaner", "", {init-y}, {step-y}, ",", {init-c}, {step-c}, "")
Try to alter e.g. the CompCheck AVS file from GordianKnot in a similar way, and use it to preview the result; I hope this may help others as well.
LigH is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:41.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.