From 65023edabdde8657728df7d723f9cdfb1859b605 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 4 Apr 2013 09:50:51 +0000 Subject: Changes to cache invalidation policy for movie clips - When changing clip in clip editor, remove all frames from it's cache to free memory for new clip. - When changing proxy render settings, free cache as well. --- source/blender/blenkernel/BKE_movieclip.h | 1 + source/blender/blenkernel/intern/movieclip.c | 5 +++++ 2 files changed, 6 insertions(+) (limited to 'source/blender/blenkernel') diff --git a/source/blender/blenkernel/BKE_movieclip.h b/source/blender/blenkernel/BKE_movieclip.h index f97b5b1f3a1..4828df2fbec 100644 --- a/source/blender/blenkernel/BKE_movieclip.h +++ b/source/blender/blenkernel/BKE_movieclip.h @@ -45,6 +45,7 @@ void BKE_movieclip_unlink(struct Main *bmain, struct MovieClip *clip); struct MovieClip *BKE_movieclip_file_add(struct Main *bmain, const char *name); void BKE_movieclip_reload(struct MovieClip *clip); +void BKE_movieclip_clear_cache(struct MovieClip *clip); struct ImBuf *BKE_movieclip_get_ibuf(struct MovieClip *clip, struct MovieClipUser *user); struct ImBuf *BKE_movieclip_get_postprocessed_ibuf(struct MovieClip *clip, struct MovieClipUser *user, int postprocess_flag); diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c index d180844e132..c8f3399665c 100644 --- a/source/blender/blenkernel/intern/movieclip.c +++ b/source/blender/blenkernel/intern/movieclip.c @@ -1162,6 +1162,11 @@ static void free_buffers(MovieClip *clip) BKE_free_animdata((ID *) clip); } +void BKE_movieclip_clear_cache(MovieClip *clip) +{ + free_buffers(clip); +} + void BKE_movieclip_reload(MovieClip *clip) { /* clear cache */ -- cgit v1.2.3