Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-08-08 20:46:40 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-08-08 20:46:40 +0400
commita0a67d298416946fff9ac824c9d9d7907a903fb5 (patch)
treee123e6950d3ca2bd66c8c4f14982939180e19e4c /source/blender/blenkernel/intern/seqcache.c
parent2a78c2d30405d17d804125e903e3fbec0f10d582 (diff)
Sequencer: initial support of refreshing only changed sequences
Before this the the whole sequencer cache would be invalidated when hanging sequence settings. This was completely annoying because changing color balance settings would re-load image file for which color balance is happening on every change, In fact it's still an issue if color balance is changing for image strip itself, but if this strip has got effect and color balance is changing for it file wouldn't be reloaded.
Diffstat (limited to 'source/blender/blenkernel/intern/seqcache.c')
-rw-r--r--source/blender/blenkernel/intern/seqcache.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/seqcache.c b/source/blender/blenkernel/intern/seqcache.c
index 4f2eaba82a5..a4ea5d1fb26 100644
--- a/source/blender/blenkernel/intern/seqcache.c
+++ b/source/blender/blenkernel/intern/seqcache.c
@@ -170,6 +170,19 @@ void BKE_sequencer_cache_cleanup(void)
}
}
+static int seqcache_key_check_seq(void *userkey, void *userdata)
+{
+ SeqCacheKey *key = (SeqCacheKey *) userkey;
+ Sequence *seq = (Sequence *) userdata;
+
+ return key->seq == seq;
+}
+
+void BKE_sequencer_cache_cleanup_sequence(Sequence *seq)
+{
+ IMB_moviecache_cleanup(moviecache, seqcache_key_check_seq, seq);
+}
+
struct ImBuf *BKE_sequencer_cache_get(SeqRenderData context, Sequence *seq, float cfra, seq_stripelem_ibuf_t type)
{
if (moviecache && seq) {