[Bf-committers] S-DNA and Changes

Leo Sutic leo.sutic at gmail.com
Thu Nov 25 22:34:46 CET 2010

On 2010-11-25 21:54, Peter Schlaile wrote:
> Regarding your interface prototype: your interators should take a float 
> increment parameter. (There isn't really a well defined "next" frame in 
> float precision scene-rendering...)

I decided against that due to the complications it resulted in - mostly
because it became very difficult to get all frames to align in time when
round-off errors may affect the float cfra parameter depending on how it
was calculated. (It was also difficult for movie clip sources, again due
to rounding errors, where you could end up on the wrong frame.) It was
easier to just pretend, in the VSE, that each sequence was continuous,
but sampled at a fixed rate. (So the "frame rate" should really be a
"field rate".) That way, the only time we risk that the frames don't
line up is when we do framerate conversion - and everyone kinda expects
them to not line up then.

So what I have instead is that each sequence (strip) has an individual
rate. That way I could slow down or speed up a sequence by altering the
frame rate. An effect strip can then do motion interpolation or
timelapse to convert the base sequence to the desired output framerate.
So the renderer might have a float frame number, but the VSE only ever
sees integer frame numbers.

I'm just guessing regarding the float cfra parameter: Is it for motion blur?

Then, for example, with output frame rate at 24fps:

Strip 1: Movie clip, 60fps. Must be converted to output frame rate.
Strip 2: Converts strip 1 to the output frame rate, 24 fps, by combining
frames in strip 1.
Strip 3: Movie clip 24 fps. Can be used as-is.
Strip 4: Gamma cross 1>3
Strip 5: Blender scene, motion blur, 24fps with simulated shutter at
60fps. As far as the VSE is concerned, the output of this strip is 24fps.
Strip 6: Combine 5 and 4 using alpha in 5.


More information about the Bf-committers mailing list