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:
Diffstat (limited to 'source/blender/sequencer/intern/image_cache.h')
-rw-r--r--source/blender/sequencer/intern/image_cache.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/source/blender/sequencer/intern/image_cache.h b/source/blender/sequencer/intern/image_cache.h
index 60031311985..e7827c15305 100644
--- a/source/blender/sequencer/intern/image_cache.h
+++ b/source/blender/sequencer/intern/image_cache.h
@@ -27,15 +27,29 @@
extern "C" {
#endif
+#include "SEQ_render.h" /* Needed for #eSeqTaskId. */
+
struct ImBuf;
struct Main;
struct Scene;
struct SeqRenderData;
struct Sequence;
-#ifdef __cplusplus
-}
-#endif
+typedef struct SeqCacheKey {
+ struct SeqCache *cache_owner;
+ void *userkey;
+ struct SeqCacheKey *link_prev; /* Used for linking intermediate items to final frame. */
+ struct SeqCacheKey *link_next; /* Used for linking intermediate items to final frame. */
+ struct Sequence *seq;
+ struct SeqRenderData context;
+ float frame_index; /* Usually same as timeline_frame. Mapped to media for RAW entries. */
+ float timeline_frame; /* Only for reference - used for freeing when cache is full. */
+ float cost; /* In short: render time(s) divided by playback frame duration(s) */
+ bool is_temp_cache; /* this cache entry will be freed before rendering next frame */
+ /* ID of task for assigning temp cache entries to particular task(thread, etc.) */
+ eSeqTaskId task_id;
+ int type;
+} SeqCacheKey;
struct ImBuf *seq_cache_get(const struct SeqRenderData *context,
struct Sequence *seq,
@@ -67,6 +81,7 @@ void seq_cache_cleanup_sequence(struct Scene *scene,
bool force_seq_changed_range);
void seq_cache_thumbnail_cleanup(Scene *scene, rctf *view_area);
bool seq_cache_is_full(void);
+float seq_cache_frame_index_to_timeline_frame(struct Sequence *seq, float frame_index);
#ifdef __cplusplus
}