View Full Version : AVS Filter editor help
archaeo
8th January 2008, 05:33
I have been trying to load the MVtools avisynth filter (MVdegrain) into DVDRB for a test clip, to compare various settings. The trouble seems to come from my MVTools syntax when I'm loading into DVDRB's filter editor.
For example when I try the script:
LoadPlugin("C:\DVD_TOOLS\AVIsynth_2.56\AviSynth 2.5\plugins\MVTools\mvtools.dll")
MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
It produces an error message.
After further reading the MVTools documentation, It seemed to indicate that I might be missing identifying the source clip in the syntax, so I went ahead and tried this:
mpeg2source("Z:\TEST\TESTRB\D2VAVS\V01.D2V")
LoadPlugin("C:\DVD_TOOLS\AVIsynth_2.56\AviSynth 2.5\plugins\MVTools\mvtools.dll")
MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
That seemed to work (no error), but I am confused on how to run this on a full backup with multiple vobs - ie I am used to DVDRB auto inserting the source clip id into the script on it's own. As you can see I had to enter the mpeg2source(xxx) myself for it to work(?). Anyway, Im rather perplexed about setting up this particular filter, and am not sure what I am doing right/wrong. Any help appreciated for this avisynth noob :confused:
jdobbs
8th January 2008, 11:16
????
DVD-RB already has the MPEG2Source() value inserted into every AVS... I don't think that's the problem.
archaeo
8th January 2008, 19:16
Yes, I'm not sure what's the problem is except to say that this script didn't work:
LoadPlugin("C:\DVD_TOOLS\AVIsynth_2.56\AviSynth 2.5\plugins\MVTools\mvtools.dll")
MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
and this one did:
mpeg2source("Z:\TEST\TESTRB\D2VAVS\V01.D2V")
LoadPlugin("C:\DVD_TOOLS\AVIsynth_2.56\AviSynth 2.5\plugins\MVTools\mvtools.dll")
MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
As you can see there's no difference except that the source clip was identified.
My first inclination is that it's something I'm missing, but I will try playing around with it more tonite, and see if I can get it to work.
Boulder
8th January 2008, 19:32
What are the exact contents of your filter editor screen? You might also want to post your rebuilder.ini.
jdobbs
8th January 2008, 19:59
...or post an AVS file for one of the ones that fails...
I'm not familiar with the filter -- but are the parameters (ie forward_vec1, backward_vec1, etc.) defined somewhere? They look like they should be variables -- and the example doesn't have them defined.
[EDIT]
Here's what I found on the site:
backward_vec2 = source.MVAnalyse(isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
backward_vec1 = source.MVAnalyse(isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
forward_vec1 = source.MVAnalyse(isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
forward_vec2 = source.MVAnalyse(isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
source.MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
Are you doing the definitions?
archaeo
8th January 2008, 22:40
@boulder, jdobbs
Let me take another look at these and run them again tonite.
I'm pretty sure I also ran the test with the parameters defined... but it was late.
I'll post when I have more information...
Many thanks
archaeo
9th January 2008, 00:49
OK, an update on this. After checking and running last nights tests again, I actually never had a script that worked.
It was an error on my part that I thought one worked.
As jdobbs mentions in his post, I'm using a script pulled directly from the example on Manao & Fizick's MVTools page.
I wanted to start with that one example, and then work from there. However, I'm stuck in the syntax with this, and can't seem to
figure out how to adapt that sample script into RB's AVS filter editor. The problem seems to come from defining the 'source'
to feed to avisynth. The error I receive when trying that sample script is:
'I don't know what "source" means'
So, I removed the source.xxx from the syntax, and went with this script instead:
1 - #------------------
2 - # AVS File Created by DVD Rebuilder
3 - # VOBID:01, CELLID:01
4 - #------------------
5 - LoadPlugin("C:\DVD_TOOLS\REBUILD\RB_v1.26.6\DGDecode.dll")
6 - mpeg2source("Z:\TEST\TESTRB\D2VAVS\V01.D2V", cpu=3)
7 - LoadPlugin("C:\DVD_TOOLS\AVIsynth_2.56\AviSynth 2.5\plugins\MVTools\mvtools.dll")
8 - backward_vec2 = MVAnalyse(isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
9 - backward_vec1 = MVAnalyse(isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
10 - forward_vec1 = MVAnalyse(isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
11 - forward_vec2 = MVAnalyse(isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
12 - MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
13 - trim(0,569)
14 - ConvertToYUY2(interlaced=true)
15 - AudioDub(BlankClip())
And the error I recieved was this:
"Error in MVDEgrain2: Vector clip must be specified"
(Z:\TEST\TESTRB\D2VAVS\V010001001.AVS,LINE 12)
So the problem I'm having is how to specify the clip in the RB filter editor so that MVTools doesn't spit it out.
For example, the script calls out for
"source.MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)"
How do I insert the 'source' part into the script via DVDRB, if it typically does it automatically?
thanks
Boulder
9th January 2008, 03:20
The script should be fine as it is, but MVTools sometimes behaves in a weird way. Try this one:
1 - #------------------
2 - # AVS File Created by DVD Rebuilder
3 - # VOBID:01, CELLID:01
4 - #------------------
5 - LoadPlugin("C:\DVD_TOOLS\REBUILD\RB_v1.26.6\DGDecode.dll")
6 - mpeg2source("Z:\TEST\TESTRB\D2VAVS\V01.D2V", cpu=3)
7 - LoadPlugin("C:\DVD_TOOLS\AVIsynth_2.56\AviSynth 2.5\plugins\MVTools\mvtools.dll")
8 - backward_vec2 = MVAnalyse(last, isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
9 - backward_vec1 = MVAnalyse(last, isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
10 - forward_vec1 = MVAnalyse(last, isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
11 - forward_vec2 = MVAnalyse(last, isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
12 - MVDegrain2(last, backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
13 - trim(0,569)
14 - ConvertToYUY2(interlaced=true)
15 - AudioDub(BlankClip())
That is, add those "last" calls to the MVAnalyse and MVDegrain2 lines in the filter editor.
archaeo
9th January 2008, 03:52
@Boulder:
Fantastic - that worked :thanks:
The script should be fine as it is, but MVTools sometimes behaves in a weird way.
That is, add those "last" calls to the MVAnalyse and MVDegrain2 lines in the filter editor.
That is weird. So what did the 'last' call do to make this script finally work? I couldn't see anything in the documentation that hinted at that (at least for this avs noob). It seems that some of these filters are rather fickle.
thanks to both of you :)
Boulder
9th January 2008, 04:01
Every filter needs a source clip to work on. Usually the source clip is specified as the first argument, and 99% of the time "last" is the default value that every filter assumes unless specified otherwise as an argument. For some reason, MVTools doesn't always assume "last" but it needs to be specified in the function call.
"Last" is simply a clip, produced by the script lines that are there before the "last" call.
archaeo
9th January 2008, 04:30
Every filter needs a source clip to work on. Usually the source clip is specified as the first argument, and 99% of the time "last" is the default value that every filter assumes unless specified otherwise as an argument. For some reason, MVTools doesn't always assume "last" but it needs to be specified in the function call.
"Last" is simply a clip, produced by the script lines that are there before the "last" call.
Very helpful. Thanks Boulder
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.