Blender Git Loki

Git Commits -> Revision 83758c4

Revision 83758c4 by Sergey Sharybin (master)
July 5, 2012, 09:41 (GMT)
Color management: refactor of cache to deal better with movie clip cache

There were some crashes discovered in some circumstances of using
color management within the clip editor which ended up some refactoring
of color management cache.

Switch from global movie cache instance to per-image buffer instances

This only means keys for color managed buffers could be much simpier
and that look up would happen much faster in there're lots of frames
cached. Memory limiter stuff is still global for all color management
and in fact it's also shared with movie clip cache .

This allowed to get rid of original image buffer stored in cache
key and allowed to easily remove all display buffers when source
image buffer is being freed. This was main culptrit leading to
crashes.

Additional changes:

- Add option to make moviecache verbose. If DEBUG_MESSAGES is
defined in moviecache.c detailed logs would be printed to the
console.

- Movie caches are now named which helps reading debug messages.

- Improved a bit behavior of cache element removing when buffer
overflows on adding new display buffer and there're frames from
movie clip.

Commit Details:

Full Hash: 83758c41544df1bb6093327330edeff2707c83e2
SVN Revision: 48630
Parent Commit: 60113a4
Lines Changed: +206, -145

9 Modified Paths:

/intern/memutil/MEM_CacheLimiter.h (+1, -1) (Diff)
/source/blender/blenkernel/intern/movieclip.c (+4, -1) (Diff)
/source/blender/blenkernel/intern/seqcache.c (+2, -2) (Diff)
/source/blender/imbuf/IMB_colormanagement.h (+1, -4) (Diff)
/source/blender/imbuf/IMB_imbuf_types.h (+2, -7) (Diff)
/source/blender/imbuf/IMB_moviecache.h (+1, -1) (Diff)
/source/blender/imbuf/intern/allocimbuf.c (+2, -6) (Diff)
/source/blender/imbuf/intern/colormanagement.c (+133, -110) (Diff)
/source/blender/imbuf/intern/moviecache.c (+60, -13) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021