Camera tracking integration
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 27 Jul 2011 12:53:39 +0000 (12:53 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 27 Jul 2011 12:53:39 +0000 (12:53 +0000)
commit84d350f4b5212b869aac4f89c4ef06aea9f47fa5
tree910470695145c4054abc5c88e2b08182f80ae52f
parent2cefa33e86abbc48bdf565257f9519f028fc0a6d
Camera tracking integration
===========================

Attempt to switch moviecache to use CacheLimiter.

Some changes in limiter were necessary:
- Limiter counted mapped memory twice when was chacking
  how many memory is used.
- It was using "global" memory usage not memory usage by
  cached elements. It will cause big problems when there's
  large mesh or plenty of undo steps are in memory nothing
  would be cached in sequencer.
- To solve this problem introduced "callback" to measure
  cached element size. It could be not very accurate in general,
  but it works well for image buffers. And if this callback
  isn't set old-school memory usage check would be used.
- The whole cache used to get freed when memory limit exceeded,
  now it'll drop only as much elements as necessary to reduce
  memory usage.

Sequence cache wasn't switched to use moviecache but
now it's really easy to do. When i'll be sure new caching
scheme works fine.

Now clip editor uses as much memory for cache as it's set in
User Preferences (Preferences -> System -> Sequencer -> Memory
Cache Limit) which si 128Mb by default. Please do not complain
about few cached frames out-of-box and just increase limit
there. Caching fixed amount of frames wasn't so nice indeed.
intern/memutil/MEM_CacheLimiter.h
intern/memutil/MEM_CacheLimiterC-Api.h
intern/memutil/intern/MEM_CacheLimiterC-Api.cpp
source/blender/blenkernel/BKE_moviecache.h
source/blender/blenkernel/intern/blender.c
source/blender/blenkernel/intern/moviecache.c
source/blender/blenkernel/intern/seqcache.c
source/blender/imbuf/intern/allocimbuf.c