[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28262] trunk/blender/source/blender/ blenkernel/intern/sequencer.c: == Sequencer ==
Peter Schlaile
peter at schlaile.de
Sun Apr 18 16:48:53 CEST 2010
Revision: 28262
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28262
Author: schlaile
Date: 2010-04-18 16:48:53 +0200 (Sun, 18 Apr 2010)
Log Message:
-----------
== Sequencer ==
Removed seqrectx and seqrecty global variables.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/sequencer.c
Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c 2010-04-18 14:47:45 UTC (rev 28261)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c 2010-04-18 14:48:53 UTC (rev 28262)
@@ -69,8 +69,6 @@
#endif
/* **** XXX ******** */
-static int seqrectx= 0; /* bad bad global! */
-static int seqrecty= 0;
//static void waitcursor(int val) {}
//static int blender_test_break() {return 0;}
@@ -1328,7 +1326,7 @@
static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int cfra,
int build_proxy_run, int render_size);
-static void seq_proxy_build_frame(Scene *scene, Sequence * seq, int cfra, int render_size)
+static void seq_proxy_build_frame(Scene *scene, Sequence * seq, int cfra, int render_size, int seqrectx, int seqrecty)
{
char name[PROXY_MAXFILE];
int quality;
@@ -1365,7 +1363,8 @@
se->ibuf = 0;
}
- do_build_seq_ibuf(scene, seq, se, cfra, TRUE, render_size);
+ do_build_seq_ibuf(scene, seq, se, cfra, TRUE, render_size,
+ seqrectx, seqrecty);
if (!se->ibuf) {
return;
@@ -1399,7 +1398,8 @@
se->ibuf = 0;
}
-static void seq_proxy_rebuild(Scene *scene, Sequence * seq)
+static void seq_proxy_rebuild(Scene *scene, Sequence * seq, int seqrectx,
+ int seqrecty)
{
int cfra;
float rsize = seq->strip->proxy->size;
@@ -1431,7 +1431,8 @@
if (!(tse->flag & STRIPELEM_PREVIEW_DONE)) {
//XXX set_timecursor(cfra);
- seq_proxy_build_frame(scene, seq, cfra, rsize);
+ seq_proxy_build_frame(scene, seq, cfra, rsize,
+ seqrectx, seqrecty);
tse->flag |= STRIPELEM_PREVIEW_DONE;
}
if (blender_test_break()) {
@@ -1445,7 +1446,8 @@
if (!(tse->flag & STRIPELEM_PREVIEW_DONE)) {
//XXX set_timecursor(cfra);
- seq_proxy_build_frame(scene, seq, cfra, rsize);
+ seq_proxy_build_frame(scene, seq, cfra, rsize,
+ seqrectx, seqrecty);
tse->flag |= STRIPELEM_PREVIEW_DONE;
}
if (blender_test_break()) {
@@ -1638,7 +1640,7 @@
*/
-static int input_have_to_preprocess(Scene *scene, Sequence * seq, TStripElem* se, int cfra)
+static int input_have_to_preprocess(Scene *scene, Sequence * seq, TStripElem* se, int cfra, int seqrectx, int seqrecty)
{
float mul;
@@ -1667,7 +1669,7 @@
return FALSE;
}
-static void input_preprocess(Scene *scene, Sequence *seq, TStripElem *se, int cfra)
+static void input_preprocess(Scene *scene, Sequence *seq, TStripElem *se, int cfra, int seqrectx, int seqrecty)
{
float mul;
@@ -1790,7 +1792,8 @@
/* test if image too small or discarded from cache: reload */
-static void test_and_auto_discard_ibuf(TStripElem * se)
+static void test_and_auto_discard_ibuf(TStripElem * se,
+ int seqrectx, int seqrecty)
{
if (se->ibuf) {
if(se->ibuf->x != seqrectx || se->ibuf->y != seqrecty
@@ -1931,16 +1934,18 @@
}
}
-static TStripElem* do_build_seq_array_recursively(Scene *scene,
- ListBase *seqbasep, int cfra, int chanshown, int render_size);
+static TStripElem* do_build_seq_array_recursively(
+ Scene *scene,
+ ListBase *seqbasep, int cfra, int chanshown, int render_size,
+ int seqrectx, int seqrecty);
static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int cfra,
- int build_proxy_run, int render_size)
+ int build_proxy_run, int render_size, int seqrectx, int seqrecty)
{
char name[FILE_MAXDIR+FILE_MAXFILE];
int use_limiter = TRUE;
- test_and_auto_discard_ibuf(se);
+ test_and_auto_discard_ibuf(se, seqrectx, seqrecty);
test_and_auto_discard_ibuf_stills(seq->strip);
if(seq->type == SEQ_META) {
@@ -1959,7 +1964,7 @@
if(!se->ibuf && seq->seqbase.first) {
meta_se = do_build_seq_array_recursively(scene,
&seq->seqbase, seq->start + se->nr, 0,
- render_size);
+ render_size, seqrectx, seqrecty);
check_limiter_refcount("do_build_seq_ibuf: for META", meta_se);
}
@@ -1969,7 +1974,8 @@
if(!se->ibuf && meta_se) {
se->ibuf = meta_se->ibuf_comp;
if(se->ibuf &&
- (!input_have_to_preprocess(scene, seq, se, cfra) ||
+ (!input_have_to_preprocess(scene, seq, se, cfra,
+ seqrectx, seqrecty) ||
build_proxy_run)) {
IMB_refImBuf(se->ibuf);
if (build_proxy_run) {
@@ -1994,7 +2000,8 @@
}
if (use_preprocess) {
- input_preprocess(scene, seq, se, cfra);
+ input_preprocess(scene, seq, se, cfra, seqrectx,
+ seqrecty);
}
} else if(seq->type & SEQ_EFFECT) {
int use_preprocess = FALSE;
@@ -2017,7 +2024,8 @@
se->ibuf= IMB_allocImBuf((short)seqrectx, (short)seqrecty, 32, IB_rect, 0);
do_effect(scene, cfra, seq, se);
- if (input_have_to_preprocess(scene, seq, se, cfra) &&
+ if (input_have_to_preprocess(scene, seq, se, cfra,
+ seqrectx, seqrecty) &&
!build_proxy_run) {
if ((se->se1 && (se->ibuf == se->se1->ibuf)) ||
(se->se2 && (se->ibuf == se->se2->ibuf))) {
@@ -2032,7 +2040,8 @@
}
}
if (use_preprocess) {
- input_preprocess(scene, seq, se, cfra);
+ input_preprocess(scene, seq, se, cfra, seqrectx,
+ seqrecty);
}
} else if(seq->type == SEQ_IMAGE) {
if(se->ok == STRIPELEM_OK && se->ibuf == 0) {
@@ -2059,7 +2068,8 @@
if(se->ibuf == 0) {
se->ok = STRIPELEM_FAILED;
} else if (!build_proxy_run) {
- input_preprocess(scene, seq, se, cfra);
+ input_preprocess(scene, seq, se, cfra,
+ seqrectx, seqrecty);
}
}
} else if(seq->type == SEQ_MOVIE) {
@@ -2096,7 +2106,8 @@
if(se->ibuf == 0) {
se->ok = STRIPELEM_FAILED;
} else if (!build_proxy_run) {
- input_preprocess(scene, seq, se, cfra);
+ input_preprocess(scene, seq, se, cfra,
+ seqrectx, seqrecty);
}
}
} else if(seq->type == SEQ_SCENE) { // scene can be NULL after deletions
@@ -2112,14 +2123,16 @@
if (se->ibuf == NULL && sce_valid && !build_proxy_run) {
se->ibuf = seq_proxy_fetch(scene, seq, cfra, render_size);
if (se->ibuf) {
- input_preprocess(scene, seq, se, cfra);
+ input_preprocess(scene, seq, se, cfra,
+ seqrectx, seqrecty);
}
}
if (se->ibuf == NULL && sce_valid) {
copy_from_ibuf_still(seq, se);
if (se->ibuf) {
- input_preprocess(scene, seq, se, cfra);
+ input_preprocess(scene, seq, se, cfra,
+ seqrectx, seqrecty);
}
}
@@ -2214,7 +2227,8 @@
if(se->ibuf == NULL) {
se->ok = STRIPELEM_FAILED;
} else {
- input_preprocess(scene, seq, se, cfra);
+ input_preprocess(scene, seq, se, cfra,
+ seqrectx, seqrecty);
}
}
@@ -2229,9 +2243,9 @@
}
}
-static TStripElem* do_build_seq_recursively(Scene *scene, Sequence *seq, int cfra, int render_size);
+static TStripElem* do_build_seq_recursively(Scene *scene, Sequence *seq, int cfra, int render_size, int seqrectx, int seqrecty);
-static void do_effect_seq_recursively(Scene *scene, Sequence *seq, TStripElem *se, int cfra, int render_size)
+static void do_effect_seq_recursively(Scene *scene, Sequence *seq, TStripElem *se, int cfra, int render_size, int seqrectx, int seqrecty)
{
float fac, facf;
struct SeqEffectHandle sh = get_sequence_effect(seq);
@@ -2264,22 +2278,22 @@
/* no input needed */
break;
case 0:
- se->se1 = do_build_seq_recursively(scene, seq->seq1, cfra, render_size);
- se->se2 = do_build_seq_recursively(scene, seq->seq2, cfra, render_size);
+ se->se1 = do_build_seq_recursively(scene, seq->seq1, cfra, render_size, seqrectx, seqrecty);
+ se->se2 = do_build_seq_recursively(scene, seq->seq2, cfra, render_size, seqrectx, seqrecty);
if (seq->seq3) {
- se->se3 = do_build_seq_recursively(scene, seq->seq3, cfra, render_size);
+ se->se3 = do_build_seq_recursively(scene, seq->seq3, cfra, render_size, seqrectx, seqrecty);
}
break;
case 1:
- se->se1 = do_build_seq_recursively(scene, seq->seq1, cfra, render_size);
+ se->se1 = do_build_seq_recursively(scene, seq->seq1, cfra, render_size, seqrectx, seqrecty);
break;
case 2:
- se->se2 = do_build_seq_recursively(scene, seq->seq2, cfra, render_size);
+ se->se2 = do_build_seq_recursively(scene, seq->seq2, cfra, render_size, seqrectx, seqrecty);
break;
}
- do_build_seq_ibuf(scene, seq, se, cfra, FALSE, render_size);
+ do_build_seq_ibuf(scene, seq, se, cfra, FALSE, render_size, seqrectx, seqrecty);
/* children are not needed anymore ... */
@@ -2295,7 +2309,7 @@
check_limiter_refcount("do_effect_seq_recursively", se);
}
-static TStripElem* do_build_seq_recursively_impl(Scene *scene, Sequence * seq, int cfra, int render_size)
+static TStripElem* do_build_seq_recursively_impl(Scene *scene, Sequence * seq, int cfra, int render_size, int seqrectx, int seqrecty)
{
TStripElem *se;
@@ -2303,9 +2317,9 @@
if(se) {
if (seq->type & SEQ_EFFECT) {
- do_effect_seq_recursively(scene, seq, se, cfra, render_size);
+ do_effect_seq_recursively(scene, seq, se, cfra, render_size, seqrectx, seqrecty);
} else {
- do_build_seq_ibuf(scene, seq, se, cfra, FALSE, render_size);
+ do_build_seq_ibuf(scene, seq, se, cfra, FALSE, render_size, seqrectx, seqrecty);
}
}
return se;
@@ -2319,7 +2333,7 @@
*/
-static TStripElem* do_handle_speed_effect(Scene *scene, Sequence * seq, int cfra, int render_size)
+static TStripElem* do_handle_speed_effect(Scene *scene, Sequence * seq, int cfra, int render_size, int seqrectx, int seqrecty)
{
SpeedControlVars * s = (SpeedControlVars *)seq->effectdata;
int nr = cfra - seq->start;
@@ -2345,10 +2359,10 @@
if (cfra_left == cfra_right ||
(s->flags & SEQ_SPEED_BLEND) == 0) {
- test_and_auto_discard_ibuf(se);
+ test_and_auto_discard_ibuf(se, seqrectx, seqrecty);
if (se->ibuf == NULL) {
- se1 = do_build_seq_recursively_impl(scene, seq->seq1, cfra_left, render_size);
+ se1 = do_build_seq_recursively_impl(scene, seq->seq1, cfra_left, render_size, seqrectx, seqrecty);
if((se1 && se1->ibuf && se1->ibuf->rect_float))
se->ibuf= IMB_allocImBuf((short)seqrectx, (short)seqrecty, 32, IB_rectfloat, 0);
@@ -2380,8 +2394,8 @@
}
if (se->ibuf == NULL) {
- se1 = do_build_seq_recursively_impl(scene, seq->seq1, cfra_left, render_size);
- se2 = do_build_seq_recursively_impl(scene, seq->seq1, cfra_right, render_size);
+ se1 = do_build_seq_recursively_impl(scene, seq->seq1, cfra_left, render_size, seqrectx, seqrecty);
+ se2 = do_build_seq_recursively_impl(scene, seq->seq1, cfra_right, render_size, seqrectx, seqrecty);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list