diff options
author | Peter Schlaile <peter@schlaile.de> | 2006-05-02 17:22:00 +0400 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2006-05-02 17:22:00 +0400 |
commit | 7deaac1d258d1e2f8bab395f35b0931fd5faadda (patch) | |
tree | aff96633d548c1e3a0986ef2a91a88a58c908b86 /source/blender/src/seqeffects.c | |
parent | 444e4e36feab32f86cda95c22e37b2d84ebee674 (diff) |
==Sequencer==
- Added early-out optimisation to add-effect (the case, where fac == 0)
- Bugfixes:
* hddaudio: ffmpeg does not seek always to the correct frame,
if the SEEK_BACKWARD flag is used. Now we account for this and
seek a little bit further... (hack, urghs)
* hddaudio: on long timelines, the new seek code didn't work
(forgot a long long cast)
* the audio mixdown code now also calculates meta-strip IPOs
Diffstat (limited to 'source/blender/src/seqeffects.c')
-rw-r--r-- | source/blender/src/seqeffects.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/src/seqeffects.c b/source/blender/src/seqeffects.c index a8eff746112..166c127312c 100644 --- a/source/blender/src/seqeffects.c +++ b/source/blender/src/seqeffects.c @@ -2406,6 +2406,15 @@ static int early_out_fade(struct Sequence *seq, return 0; } +static int early_out_mul_input2(struct Sequence *seq, + float facf0, float facf1) +{ + if (facf0 == 0.0 && facf1 == 0.0) { + return 1; + } + return 0; +} + static void get_default_fac_noop(struct Sequence *seq, int cfra, float * facf0, float * facf1) { @@ -2463,12 +2472,15 @@ struct SeqEffectHandle get_sequence_effect(Sequence * seq) break; case SEQ_ADD: rval.execute = do_add_effect; + rval.early_out = early_out_mul_input2; break; case SEQ_SUB: rval.execute = do_sub_effect; + rval.early_out = early_out_mul_input2; break; case SEQ_MUL: rval.execute = do_mul_effect; + rval.early_out = early_out_mul_input2; break; case SEQ_ALPHAOVER: rval.init = init_alpha_over_or_under; |