Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/seqcache.c
| Show First 20 Lines • Show All 1,147 Lines • ▼ Show 20 Lines | void BKE_sequencer_cache_cleanup(Scene *scene) | ||||
| } | } | ||||
| cache->last_key = NULL; | cache->last_key = NULL; | ||||
| seq_cache_unlock(scene); | seq_cache_unlock(scene); | ||||
| } | } | ||||
| void BKE_sequencer_cache_cleanup_sequence(Scene *scene, | void BKE_sequencer_cache_cleanup_sequence(Scene *scene, | ||||
| Sequence *seq, | Sequence *seq, | ||||
| Sequence *seq_changed, | Sequence *seq_changed, | ||||
| int invalidate_types) | int invalidate_types, | ||||
| bool force_seq_changed_range) | |||||
| { | { | ||||
| SeqCache *cache = seq_cache_get_from_scene(scene); | SeqCache *cache = seq_cache_get_from_scene(scene); | ||||
| if (!cache) { | if (!cache) { | ||||
| return; | return; | ||||
| } | } | ||||
| if (seq_disk_cache_is_enabled(cache->bmain) && cache->disk_cache != NULL) { | if (seq_disk_cache_is_enabled(cache->bmain) && cache->disk_cache != NULL) { | ||||
| seq_disk_cache_invalidate(scene, seq, seq_changed, invalidate_types); | seq_disk_cache_invalidate(scene, seq, seq_changed, invalidate_types); | ||||
| } | } | ||||
| seq_cache_lock(scene); | seq_cache_lock(scene); | ||||
| int range_start = seq_changed->startdisp; | int range_start = seq_changed->startdisp; | ||||
| int range_end = seq_changed->enddisp; | int range_end = seq_changed->enddisp; | ||||
| if (!force_seq_changed_range) { | |||||
| if (seq->startdisp > range_start) { | if (seq->startdisp > range_start) { | ||||
| range_start = seq->startdisp; | range_start = seq->startdisp; | ||||
| } | } | ||||
| if (seq->enddisp < range_end) { | if (seq->enddisp < range_end) { | ||||
| range_end = seq->enddisp; | range_end = seq->enddisp; | ||||
| } | } | ||||
| } | |||||
| int invalidate_composite = invalidate_types & SEQ_CACHE_STORE_FINAL_OUT; | int invalidate_composite = invalidate_types & SEQ_CACHE_STORE_FINAL_OUT; | ||||
| int invalidate_source = invalidate_types & (SEQ_CACHE_STORE_RAW | SEQ_CACHE_STORE_PREPROCESSED | | int invalidate_source = invalidate_types & (SEQ_CACHE_STORE_RAW | SEQ_CACHE_STORE_PREPROCESSED | | ||||
| SEQ_CACHE_STORE_COMPOSITE); | SEQ_CACHE_STORE_COMPOSITE); | ||||
| GHashIterator gh_iter; | GHashIterator gh_iter; | ||||
| BLI_ghashIterator_init(&gh_iter, cache->hash); | BLI_ghashIterator_init(&gh_iter, cache->hash); | ||||
| while (!BLI_ghashIterator_done(&gh_iter)) { | while (!BLI_ghashIterator_done(&gh_iter)) { | ||||
| ▲ Show 20 Lines • Show All 255 Lines • Show Last 20 Lines | |||||