Commit: 445ebcaa308eebfd7f4c3e3e63bfb2cd1dab6a2d
Author: Richard Antalik
Date:   Mon Jan 11 11:28:49 2021 +0100
Branches: master
https://developer.blender.org/rB445ebcaa308eebfd7f4c3e3e63bfb2cd1dab6a2d

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

===================================================================

M       source/blender/sequencer/intern/render.c

===================================================================

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);
   }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to