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/makesdna/DNA_sequence_types.h
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/makesdna/DNA_sequence_types.h')
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 839d804fbea..bc574228cca 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -46,12 +46,15 @@ struct Scene;
typedef struct StripElem {
char name[80];
+} StripElem;
+
+typedef struct TStripElem {
struct ImBuf *ibuf;
- struct StripElem *se1, *se2, *se3;
+ struct TStripElem *se1, *se2, *se3;
short ok;
short pad;
int nr;
-} StripElem;
+} TStripElem;
typedef struct Strip {
struct Strip *next, *prev;
@@ -59,6 +62,7 @@ typedef struct Strip {
StripElem *stripdata;
char dir[160];
int orx, ory;
+ TStripElem *tstripdata;
} Strip;
@@ -87,7 +91,6 @@ typedef struct PluginSeq {
/* WATCH IT: first part identical to ID (for use in ipo's) */
typedef struct Sequence {
-
struct Sequence *next, *prev;
void *tmp; /* tmp var for copying, and tagging for linked selection */
void *lib; /* needed (to be like ipo), else it will raise libdata warnings, this should never be used */
@@ -104,7 +107,8 @@ typedef struct Sequence {
int sfra; /* starting frame according to the timeline of the scene. */
Strip *strip;
- StripElem *curelem; /* reference the current frame - value from give_stripelem */
+ int pad2;
+ int pad3;
struct Ipo *ipo;
struct Scene *scene;
@@ -234,6 +238,9 @@ typedef struct SpeedControlVars {
#define SEQ_COLOR 28
#define SEQ_SPEED 29
+#define STRIPELEM_FAILED 0
+#define STRIPELEM_OK 1
+#define STRIPELEM_META 2
#endif