Printable Version of Topic
Click here to view this topic in its original format
Unofficial VirtualDub Support Forums > VirtualDub Filters and Filter Development > Animated Filters


Posted by: gtz Feb 20 2003, 03:01 PM
hi all.

i was wanderinf if there is some sort of vd meta-filter out there that applies another filter with the ability to temporally alter that filter's paramters.

thanks in advance.

Posted by: FrameMan Feb 21 2003, 09:58 AM
How about trying the Conditional filter?

http://wwwtcs.inf.tu-dresden.de/~dc1/conditional/

Caution: on my computer it does not work well with the newest version of the VirtualDub (1.5.0). Use an older version instead.

Hope it helps...

Posted by: gtz Feb 21 2003, 05:39 PM
well, i suppose i could use the conditional metafilter with some condition based on time or framecount, but that'd be some pain in the ass.

thanks anyway.

Posted by: FrameMan Feb 21 2003, 06:23 PM
What more coud You want unsure.gif ?

This filter is actually quite simple to use. Simply put
"frame>=x and frame<=y" and You're done!

If You have a better idea - ask away. Maybe some programmers have coded a better filter..........

Posted by: David.Bucci Feb 22 2003, 06:53 AM
QUOTE (FrameMan @ Feb 21 2003, 01:23 PM)
What more coud You want unsure.gif ?

He's looking for a filter which will vary another filter's settings over the course of the application of the filter. Like you find when you apply a filter in an NLE. I don't believe the conditional filter can do that ... it simply turns on then off another filter, with static settings, based on conditions.

To approximate what he wants, he'd have to do many many conditional filter applications, each with slightly different filter settings for the target filter.

Does that make sense?

What he's asking for would be cool ... it would step VD in the direction of being an NLE. But then, there are one or two of those in the world already cool.gif

Posted by: DD_DD Feb 25 2003, 01:26 PM
Hi,

I will adapt conditional to the new VD this week.

But - in any case - it is not designed for your purpose.
It just exchange contexts of internal filter data, it does not
modify them. There is no way to write a filter wich can
dynamicaly alter internal data of any other filter, because
the filters do not provide a description of the internal data
layout (names and types of parameters, order in the struct).

However, it is possible to write a filter, which alters - based
on some functional dependencies - internal data of some well known
filters - e.g. contrast.

Wich paramaters of wich filters do you wish to vary and what they have
to depend on?

Posted by: gtz Feb 26 2003, 02:34 PM
hey DD_DD,
thanks a lot for your reply. i'm not quite sure, but i suppose if i could, i'd want to "animate" brightness/contrast and maybe a blur. and if there was some way to randomize paramter changes in given boundaries, that would be pretty awesome wub.gif

Posted by: David.Bucci Feb 27 2003, 06:10 AM
Oh, completely forgot ... you can do what you're asking for in AVISynth, using its "Animate" filter. Go http://math.berkeley.edu/~benrg/avisynth-reference.html#filters and scroll down to the very bottom for a discussion.

Posted by: gtz Feb 27 2003, 10:16 AM
yeah,
i cam across that avisynth animate filter and it actually does what i was asking for. unfortunately, though, i'D like to have a certain amount of randomness in that animation to achieve a digitally degenerated gritty look. i was hoping the avisynth rand() function would do the trick, but it seems rand() is not evaluated per frame/field, but once at the script's inital parsing. maybe i could trick avisynth to do it anyways, we'll see.

thanks all.

Posted by: David.Bucci Feb 27 2003, 06:24 PM
Ok, this may be a stupid idea, and i can't try it here at work ... but what if you stacked animates? I mean, what if you did several AVISynth Animates on the same section of video, each with rand()-generated starting and ending values, or somesuch? Maybe even rand() on the starting/ending frames, to create different overlaps between the filters, possibly with one filter application varying over the length of the whole video segment in question. I mean, 3 or 4 levels applications, 3 or 4 blur/sharpens, each varying independently in length and filter parameters (or probably not rand()-generated parameters, actually, since you would want some predictability of the results).

I.e., can you live with 1 frame/hour rendering? laugh.gif

Posted by: WarpEnterprises Mar 3 2003, 02:31 PM
Greetings from AviSynth @ its best:

AviSource("test.avi")

N=UniformNoise(last, ya=100, yb=250, fast=true, width=2, height=2).pointresize(8,8).crop(0,0,4,4).pointresize(last.width,last.height)
Layer(last, N, "add", 128, use_chroma=true)

return last

You need AviSynth >= 2.07 and
http://www.jungleweb.net/~sansgrip/avisynth/Noise_Generators-0.2.zip

This generates random noise, takes only 1 pixel of the noise and layers it upon your source.



Posted by: gtz Mar 12 2003, 12:50 AM
hi all.
i just wanted to say thanks to all who tried to help me, especially to warpent~. the noise generator really did the random luminance flickering trick. very gorgeous.
i'm pretty sure i can figure out something similar for random displacements and focus shifts.
thanks again.

p.s.: oh, one more thing i forgot. is there some sort of "box blur" plugin for avisynth?


Posted by: gtz Mar 12 2003, 01:59 AM
ok, i just figured someting out that would do random defocussing in a similar fashion.

first i create a lanczos down- and re-upsized copy of the clip (to do an extreme blur to it), then i create noise just as in warpent~'s example and used it as alpha mask for the blurred copy and then layer it atop the original clip. it doesn't really look digital, but rather old-film-esque.

i suppose i could just do the same to get seemingly random image displacements and the likes.

Posted by: gtz Mar 12 2003, 01:40 PM
now i came up with something that would add random scanline/interlacing error/dsiplacement/ghosting crap to a clip. i couldn't manage to randomize the ghost-image's offset. though. does anyone have any ideas?

Posted by: colinb Mar 19 2003, 09:07 AM
Hi qtz,

It sounds like you have managed to do what I was asking about in my posting yesterday (sliding from massively out-of-focus to in-focus over time) using avisynth.

Any chance of a peek at your script(s) ? :-)

Regards,

Colin

Posted by: gtz Mar 20 2003, 12:50 PM
i think what you're trying to do could be accomplished in a somewhat easyer fashion.

what you really need is a way to do really major blurring to the clip. i did the blurring by "pointresize"-ing the clip down to a third or so of its original size and then "lanczosresize"-ing it back to its original size.

to achieve your focus-slide, you'd need to "animate" the percentage you downsize the clip.

Posted by: WarpEnterprises Mar 25 2003, 08:20 AM
Hi guys, it seems uncle WarpE has something for you:

Zoom()
get it from http://www.avisynth.org/~warpenterprises/index.html

can zoom, pan, rotate depending on arbitrary functions including the current framenumber.

To shake your video use:

zoom(dsty="10/n/(1+rand(10))-5+height/2", dstx="10/n/(1+rand(10))-5+width/2")


Posted by: royalbox Apr 11 2003, 10:28 AM
It's a funny old world when one person is trying to make a clean video look like an old film, and here am I trying all I can to make my old transfered films look clean and stable! Perhaps we should swop video clips.

Posted by: gtz Apr 11 2003, 12:22 PM
yeah, you're right. i'm indeed using avisynth more as a sort of scriptable effect-box than to touch up my captures.
mostly because my captures are pretty much a :-)

Powered by Invision Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)