== Sequencer ==
authorPeter Schlaile <peter@schlaile.de>
Mon, 1 Oct 2007 08:03:11 +0000 (08:03 +0000)
committerPeter Schlaile <peter@schlaile.de>
Mon, 1 Oct 2007 08:03:11 +0000 (08:03 +0000)
commit5b1d6690068876843c5bec284056b17db3af9f0b
tree9a49117282c1ab016189a2aedcc388a69956c2c9
parent2182f53a9a5e69c76d9efbbee46134935df242a6
== Sequencer ==

This patch adds prefetch buffering to the sequencer
(see the tracker for additional details:

https://projects.blender.org/tracker/?func=detail&aid=7307&group_id=9&atid=127
)

We create seperate render threads (currently one, because of the fact,
that sequence rendering modifies global structures...), that
render up to the defined userpref value "Prefetch frames" in advance.
(Pressing Alt-A will _first_ fill the buffer and then start playing.)

Bassam and I did some extensive testing, so it should work.

If you don't configure your number of prefetch frames, prefetching is disabled!
(Sane defaults... :)

Also: if the machine is definitely too slow and runs out of the prefetch
area, prefetching is disabled automatically and we are back to good old
frame skipping mode.

My Dual Athlon is able to handle 4 parallel DV streams at once (sometimes
a little bit choppy, but prefetching is never disabled!)

I fixed also a long standing bug in the audio code, that made playback run
backwards at the beginning...
13 files changed:
source/blender/include/BIF_drawseq.h
source/blender/include/BIF_space.h
source/blender/include/BIF_spacetypes.h
source/blender/include/BSE_sequence.h
source/blender/makesdna/DNA_userdef_types.h
source/blender/src/drawseq.c
source/blender/src/drawview.c
source/blender/src/editscreen.c
source/blender/src/header_seq.c
source/blender/src/seqaudio.c
source/blender/src/sequence.c
source/blender/src/space.c
source/blender/src/spacetypes.c