From 445ebcaa308eebfd7f4c3e3e63bfb2cd1dab6a2d Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Mon, 11 Jan 2021 11:28:49 +0100 Subject: [PATCH] VSE: store raw images in cache Previously raw images were not cached if image wasn't preprocessed. This caused issue, that image had to be read from disk on every redraw. Effect strips must be excluded, because this would cause problem with invalidation. Effect strips can use preprocessing however. This is mainly to allow usimg modifiers on them. This change should follow rBf448ff2afe7a77, but I have wrongly assumed, that it has been implemented already. ref T80278 --- source/blender/sequencer/intern/render.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/blender/sequencer/intern/render.c b/source/blender/sequencer/intern/render.c index 8d6a61f3c5d..cd993ae45c1 100644 --- a/source/blender/sequencer/intern/render.c +++ b/source/blender/sequencer/intern/render.c @@ -728,12 +728,12 @@ static ImBuf *seq_render_preprocess_ibuf(const SeqRenderData *context, use_preprocess = true; } - if (use_preprocess) { - /* Proxies are not stored in cache. */ - if (!is_proxy_image) { - seq_cache_put(context, seq, timeline_frame, SEQ_CACHE_STORE_RAW, ibuf, false); - } + /* Proxies and effect strips are not stored in cache. */ + if (!is_proxy_image && (seq->type & SEQ_TYPE_EFFECT) == 0) { + seq_cache_put(context, seq, timeline_frame, SEQ_CACHE_STORE_RAW, ibuf, false); + } + if (use_preprocess) { ibuf = input_preprocess(context, seq, timeline_frame, ibuf); }