Internal forward/back frame access in Video bus?

FrigidNDEditing wrote on 6/22/2010, 10:55 AM
Ok, so I was laying up last night unable to sleep, and my mind wandered to a local thread that was about wanting to blur a car driving in the video, and it turned out that the motion blur envelope in the Vegas video bus, blurs pixels that move in video clip that itself is not moving. Suddenly it occurred to me, that I am not sure how this is possible, unless Vegas is able to actually compare frames prior to and after the current frame.

As far as I knew, that was something that Vegas was not able to do. Anyone know if this can be done in some other way? it seems to me the only way it can actually be done is if there is a frame comparison occuring.

here's the original video that spurred this thought on...



Dave

Comments

Former user wrote on 6/22/2010, 11:38 AM
I can't speak technically about it, but Motion Blur does not blur pixels. It basically repeats and interpolates them. So if there is movement the new pixels are drawn and previous pixels are redrawn at specific rates.

If there is no movement, then the redrawn pixels are drawn in the same place as original, thus no obvious blurring.

Dave T2
FrigidNDEditing wrote on 6/22/2010, 11:43 AM
what I'm saying though, is that it would seem to me, that there has to be some access to the frames before and after the active frame in the video bus in order for this to be able to done, does it not?

Dave
Chienworks wrote on 6/22/2010, 1:30 PM
Internally, Vegas can do any danged thing it pleases. The entire video is accessible to it. Witness the fact that you can see every frame on the timeline all at once (well, depending on media length, monitor size, and zoom level, of course). That single frame at a time limitation doesn't apply at all.

What you're thinking of is the plugin API. Vegas only passes one frame and it's associated parameters at a time to the plugin. It then expects a return of one frame at a time. That's external, not internal.

That being said, a crafty plugin could certainly retain a buffer of previous frames and use them to sum up a temporal effect for the current frame. From some of the NewBlue samples i've seen i'm pretty sure they do this.
apit34356 wrote on 6/22/2010, 9:12 PM
I believe the correct answer is "no" current;y, Vegas does buffering for the preview, but not individual tracks. If vegas could pass thru the last 6 or next frames with current frames, 3nd apps would be 'HAPPY". Boris would work a lot smoother. Now there is a solution to buffering tracks for things like tracking motion...etc..., but I do not want to create more problems for SCS with memory resources issues.and feed the x=crazies more ;-) Certain features borrow resources that can't be tied up long without hurting other features like audio extras( compression..etc..) More cores, more memory, but cores assigned to dedicated tasks, like audio processing, will fix many video issues in the future. ;-)
TheHappyFriar wrote on 6/23/2010, 6:44 AM
from what I can see, vegas does use previous frames for motion blur.

To do this yourself take a motion (I took a zoom out) & in the middle of the zoom cut. Separate them by a few seconds. Now apply a motion blur (I did the max to test).

The blur appears inside the empty void that has no frames in it: frames are there That could only be because Vegas makes new frames in memory for motion blur. And it happens even when there's no event data before/after the area in the empty void, which means it's using data the program itself put there to be used.

I then put two generated media's on the TL. Each ~15 frame apart. At the end of the first generated media the one 15 frames apart is already easily visible.