Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schlaile <peter@schlaile.de>2007-11-18 20:39:30 +0300
committerPeter Schlaile <peter@schlaile.de>2007-11-18 20:39:30 +0300
commitdc6ac56d318ad9f2952a1d91dba13f1bd723768a (patch)
tree9ac90aea3a0bacea065a4922ce106f1252120971 /source/blender/include
parent6d5396fc65fe81f0d999d12df6b64156358b1e60 (diff)
General cleanup in sequencer:
- Seperated StripData into StripData TStripData where StripData holds only image-filenames and TStripData holds the working information needed for ImBuf caching. => Large drop in memory usage, if you used a lot of movie and meta strips. => Fixed bugs in "duplicate" on the way (imbufs where copied around without taking reference counting seriously...) => Code is much cleaner now - Added defines for TStripData->ok Finally figured out, what the magic values ment and named them properly :) - Got rid of Sequence->curelem. Reason: very bad idea(tm) for multi threading with more than one render thread. Still not there, but this was a real show stopper on the way.
Diffstat (limited to 'source/blender/include')
-rw-r--r--source/blender/include/BSE_sequence.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/include/BSE_sequence.h b/source/blender/include/BSE_sequence.h
index ff79d417537..fdf584b38f4 100644
--- a/source/blender/include/BSE_sequence.h
+++ b/source/blender/include/BSE_sequence.h
@@ -37,6 +37,7 @@
struct PluginSeq;
struct StripElem;
+struct TStripElem;
struct Strip;
struct Sequence;
struct ListBase;
@@ -44,9 +45,9 @@ struct Editing;
struct ImBuf;
struct Scene;
-void free_stripdata(int len, struct StripElem *se);
+void free_tstripdata(int len, struct TStripElem *se);
void free_strip(struct Strip *strip);
-void new_stripdata(struct Sequence *seq);
+void new_tstripdata(struct Sequence *seq);
void free_sequence(struct Sequence *seq);
void build_seqar(struct ListBase *seqbase, struct Sequence ***seqar, int *totseq);
void free_editing(struct Editing *ed);
@@ -57,17 +58,20 @@ void clear_scene_in_allseqs(struct Scene *sce);
int evaluate_seq_frame(int cfra);
struct StripElem *give_stripelem(struct Sequence *seq, int cfra);
+struct TStripElem *give_tstripelem(struct Sequence *seq, int cfra);
void set_meta_stripdata(struct Sequence *seqm);
struct ImBuf *give_ibuf_seq(int rectx, int recty, int cfra, int chansel);
/* chansel: render this channel. Default=0 (renders end result)*/
+struct ImBuf *give_ibuf_seq_direct(int rectx, int recty, int cfra,
+ struct Sequence * seq);
/* sequence prefetch API */
void seq_start_threads();
void seq_stop_threads();
void give_ibuf_prefetch_request(int rectx, int recty, int cfra, int chanshown);
void seq_wait_for_prefetch_ready();
-struct ImBuf * give_ibuf_threaded(int rectx, int recty, int cfra,
- int chanshown);
+struct ImBuf * give_ibuf_seq_threaded(int rectx, int recty, int cfra,
+ int chanshown);
void free_imbuf_seq_except(int cfra);