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. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to