[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