|
|
Strange problems using smartdeciamte
whenever I use the arguements bob amp; weave of smartdecimate within a user defined function, AVISynth will return an acess violation or an AVISynth Stack overflow.
If I call smartdecimate using the bob amp; weave arguments without building a user defined function around it, everything is nice.
I am currently playing with a function like this:Code:
function killblends(clip i)
{# define the vars
par=i.getparity()
ord= par ? 1 : 0
# fullframerate deinterlace
i.dgbob(order=ord)
# kill blended frames
deblended=last.deblend()
# add 25 frames of blackness to give smartdeciamte some time to get a pattern
added=loop(blankclip(deblended)).trim(0,50)+deblended# pre-grab the stream for the final output
alreadybobbed=added.subtitle(quot;bobquot;)
alreadyweaved=added.subtitle(quot;weavequot;)
# reinterlace the stream for smartdecimate
# (it doesn't seem to handle progressive video properly)
separated=added.separatefields()
par ? separated.selectevery(4,1,2) : separated.selectevery(4,0,3)
weave()
par ? assumetff() : assumebff()
# apply smartdecimate# this works
#last.smartdecimate(24,50) #,bob=alreadybobbed,weave=alreadyweaved)
# this not! but I really need the arguments bob amp; weave
last.smartdecimate(24,50,bob=alreadybobbed,weave=alreadyweaved)
# trim out the previously added blackness
trim(25,0)
}
If I cut out the pure sequence out of the function and directly paste them after loadding the Video, it runs like it should.
used AVISYnth 2.55 amp; 2.54
used smartdecimate 0.23
used input source: 768x576 @ 25fps YUY2
Strange.
Did you already try to define the quot;alreadyquot;'s as global variables?Even more strange:
I'm doing (we're doing ) basically the same in Restore24 - and there it works without problems ?!- Didée
in restore24 I have problems, too.
it is always crashing vdub mod, if I try to reload it (after some little script changes)
This causes always needing to restart VDubMod (no matter wich version or Mod I use).
If I remove smartdecimate from restore24, everything is fine.
No crahses.
I'll try defining the already's global. results coming soon.
Originally posted by scharfis_brain
# this not! but I really need the arguments bob amp; weave
last.smartdecimate(24,50,bob=alreadybobbed,weave=alreadyweaved)
Have you tried:
a=alreadybobbed
b=alreadyweaved
last.smartdecimate(24,50,bob=a,weave=b)
Also, assuming you do have avisynth_c.dll and smartdecimate.dll in a separate directory to the plugins, as this can cause weird problems.
EDIT:
Originally posted by scharfis_brain
I'll try defining the already's global.
Guess I should read posts properly first before replying!!!......
thanks Didée!
setting the already's to global helped!
@Bogalvator:
I am a little bit confused.
should I
- separate avisynth_c.dll and smartdecimate.dll form the other plugins?
- put the into one directory with all other plugins? (current state)
- separate avisynth_c and smartdecimte into diff. folders?
Originally posted by scharfis_brain
- separate avisynth_c.dll and smartdecimate.dll form the other plugins?
I usually do this because sometimes AviSynth seems to crash with them in the plugins dir (well it did for me).
Anyways it doesn't seem like this was the cause of the problem here. If having them in plugins has never caused any issues then I wouldn't worry. It was probably some error in the setup my end....... |
|