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:
authorRichard Antalik <richardantalik@gmail.com>2019-04-29 00:13:41 +0300
committerRichard Antalik <richardantalik@gmail.com>2019-04-29 00:50:48 +0300
commit337cac760ba9d198fc45459f4274a94a87558528 (patch)
treed9f1c3cb901547ef4434c38c2a390795d0fff8f1 /source/blender/makesdna/DNA_sequence_types.h
parent1b65ec0a9b9be2aef7db88be3c6deaaa135ab382 (diff)
VSE: Cache rewrite
This patch implements new cache system. Aim is to give user more control over cache, so it can be maximally utilized. This is done through sequencer timeline side panel in category proxy & cache. Cached images are also visualized in timeline, controled by sequencer timeline view->cache menu Functional changes: - NOT use IMB_moviecache API - refactor names of cached image types - each scene owns 1 sequencer cache - merge preprocess cache into per-sequencer cache - cache links images rendered per frame in order as they are created - add cache content visualization tool - add RNA properties to control the cache More info can be found in design notes in blenkernel/intern/seqcache.c and in https://developer.blender.org/D4443 Reviewed By: brecht Differential Revision: https://developer.blender.org/D4443
Diffstat (limited to 'source/blender/makesdna/DNA_sequence_types.h')
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index ba3dee405ad..2a4d1b5d9d3 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -229,6 +229,9 @@ typedef struct Sequence {
/* modifiers */
ListBase modifiers;
+
+ int cache_flag;
+ int _pad2[3];
} Sequence;
typedef struct MetaStack {
@@ -258,6 +261,12 @@ typedef struct Editing {
int over_ofs, over_cfra;
int over_flag, proxy_storage;
rctf over_border;
+
+ struct SeqCache *cache;
+
+ /* Cache control */
+ float recycle_max_cost;
+ int cache_flag;
} Editing;
/* ************* Effect Variable Structs ********* */
@@ -635,4 +644,33 @@ enum {
SEQUENCE_MASK_TIME_ABSOLUTE = 1,
};
+/* Sequence->cache_flag
+ * SEQ_CACHE_STORE_RAW
+ * SEQ_CACHE_STORE_PREPROCESSED
+ * SEQ_CACHE_STORE_COMPOSITE
+ * FINAL_OUT is ignored
+ *
+ * Editing->cache_flag
+ * all entries
+ */
+enum {
+ SEQ_CACHE_STORE_RAW = (1 << 0),
+ SEQ_CACHE_STORE_PREPROCESSED = (1 << 1),
+ SEQ_CACHE_STORE_COMPOSITE = (1 << 2),
+ SEQ_CACHE_STORE_FINAL_OUT = (1 << 3),
+
+ /* For lookup purposes */
+ SEQ_CACHE_ALL_TYPES = SEQ_CACHE_STORE_RAW | SEQ_CACHE_STORE_PREPROCESSED |
+ SEQ_CACHE_STORE_COMPOSITE | SEQ_CACHE_STORE_FINAL_OUT,
+
+ SEQ_CACHE_OVERRIDE = (1 << 4),
+
+ /* enable cache visualization overlay in timeline UI */
+ SEQ_CACHE_VIEW_ENABLE = (1 << 5),
+ SEQ_CACHE_VIEW_RAW = (1 << 6),
+ SEQ_CACHE_VIEW_PREPROCESSED = (1 << 7),
+ SEQ_CACHE_VIEW_COMPOSITE = (1 << 8),
+ SEQ_CACHE_VIEW_FINAL_OUT = (1 << 9),
+};
+
#endif /* __DNA_SEQUENCE_TYPES_H__ */