diff options
-rw-r--r-- | source/blender/blenkernel/BKE_sequencer.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/seqcache.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/sequencer.c | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h index 0ca1d904d6f..c723797ac2b 100644 --- a/source/blender/blenkernel/BKE_sequencer.h +++ b/source/blender/blenkernel/BKE_sequencer.h @@ -98,6 +98,7 @@ typedef struct SeqRenderData { int preview_render_size; int motion_blur_samples; float motion_blur_shutter; + bool skip_cache; } SeqRenderData; SeqRenderData BKE_sequencer_new_render_data(struct EvaluationContext *eval_ctx, struct Main *bmain, diff --git a/source/blender/blenkernel/intern/seqcache.c b/source/blender/blenkernel/intern/seqcache.c index 919d38be9e0..38d3d46ee6b 100644 --- a/source/blender/blenkernel/intern/seqcache.c +++ b/source/blender/blenkernel/intern/seqcache.c @@ -229,7 +229,7 @@ void BKE_sequencer_cache_put(SeqRenderData context, Sequence *seq, float cfra, s { SeqCacheKey key; - if (!i) { + if (i == NULL || context.skip_cache) { return; } diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index d1d88002c96..337d9756296 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -513,6 +513,7 @@ SeqRenderData BKE_sequencer_new_render_data(EvaluationContext *eval_ctx, rval.motion_blur_samples = 0; rval.motion_blur_shutter = 0; rval.eval_ctx = eval_ctx; + rval.skip_cache = false; return rval; } @@ -1535,6 +1536,7 @@ void BKE_sequencer_proxy_rebuild(SeqIndexBuildContext *context, short *stop, sho render_context = BKE_sequencer_new_render_data(bmain->eval_ctx, bmain, context->scene, (scene->r.size * (float) scene->r.xsch) / 100.0f + 0.5f, (scene->r.size * (float) scene->r.ysch) / 100.0f + 0.5f, 100); + render_context.skip_cache = true; for (cfra = seq->startdisp + seq->startstill; cfra < seq->enddisp - seq->endstill; cfra++) { if (context->size_flags & IMB_PROXY_25) { |