Tomato: improved cache management for movie clips
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 3 Jul 2012 10:56:33 +0000 (10:56 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 3 Jul 2012 10:56:33 +0000 (10:56 +0000)
commit5c70c29b9c5b8d9954c01a9ed4ba79387a9cc46b
tree54c1d061e433aa3ab8189d505b8f4d33e2339501
parent5593100b356a40e327874d457feeb05f7657a4be
Tomato: improved cache management for movie clips

Replace pseudo-LRU approach of determining which buffer
to remove when running out of space allowed for cache
with approach which would remove the frame which is most
far away from newly added frame.

This is still a bit tricky because it's impossible to
distinguish which frame to delete in situation of:

    CCCC...CC
        ^

it's either user wants to extend left segment of cached
frames and buffers from right segment should be removed
or he wants to join this two segments and in that case
buffers from right segment should be removed.

Would need a bit more investigation which situation
is more common in general usecase.
intern/memutil/MEM_CacheLimiter.h
intern/memutil/MEM_CacheLimiterC-Api.h
intern/memutil/intern/MEM_CacheLimiterC-Api.cpp
source/blender/blenkernel/intern/movieclip.c
source/blender/blenkernel/intern/seqcache.c
source/blender/imbuf/IMB_moviecache.h
source/blender/imbuf/intern/colormanagement.c
source/blender/imbuf/intern/moviecache.c