|
Blender
V2.93
|
Go to the source code of this file.
Typedefs | |
| typedef void(* | MovieCacheGetKeyDataFP) (void *userkey, int *framenr, int *proxy, int *render_flags) |
| typedef void *(* | MovieCacheGetPriorityDataFP) (void *userkey) |
| typedef int(* | MovieCacheGetItemPriorityFP) (void *last_userkey, void *priority_data) |
| typedef void(* | MovieCachePriorityDeleterFP) (void *priority_data) |
Functions | |
| void | IMB_moviecache_init (void) |
| void | IMB_moviecache_destruct (void) |
| struct MovieCache * | IMB_moviecache_create (const char *name, int keysize, GHashHashFP hashfp, GHashCmpFP cmpfp) |
| void | IMB_moviecache_set_getdata_callback (struct MovieCache *cache, MovieCacheGetKeyDataFP getdatafp) |
| void | IMB_moviecache_set_priority_callback (struct MovieCache *cache, MovieCacheGetPriorityDataFP getprioritydatafp, MovieCacheGetItemPriorityFP getitempriorityfp, MovieCachePriorityDeleterFP prioritydeleterfp) |
| void | IMB_moviecache_put (struct MovieCache *cache, void *userkey, struct ImBuf *ibuf) |
| bool | IMB_moviecache_put_if_possible (struct MovieCache *cache, void *userkey, struct ImBuf *ibuf) |
| struct ImBuf * | IMB_moviecache_get (struct MovieCache *cache, void *userkey) |
| void | IMB_moviecache_remove (struct MovieCache *cache, void *userkey) |
| bool | IMB_moviecache_has_frame (struct MovieCache *cache, void *userkey) |
| void | IMB_moviecache_free (struct MovieCache *cache) |
| void | IMB_moviecache_cleanup (struct MovieCache *cache, bool(cleanup_check_cb)(struct ImBuf *ibuf, void *userkey, void *userdata), void *userdata) |
| void | IMB_moviecache_get_cache_segments (struct MovieCache *cache, int proxy, int render_flags, int *r_totseg, int **r_points) |
| struct MovieCacheIter * | IMB_moviecacheIter_new (struct MovieCache *cache) |
| void | IMB_moviecacheIter_free (struct MovieCacheIter *iter) |
| bool | IMB_moviecacheIter_done (struct MovieCacheIter *iter) |
| void | IMB_moviecacheIter_step (struct MovieCacheIter *iter) |
| struct ImBuf * | IMB_moviecacheIter_getImBuf (struct MovieCacheIter *iter) |
| void * | IMB_moviecacheIter_getUserKey (struct MovieCacheIter *iter) |
| typedef int(* MovieCacheGetItemPriorityFP) (void *last_userkey, void *priority_data) |
Definition at line 43 of file IMB_moviecache.h.
| typedef void(* MovieCacheGetKeyDataFP) (void *userkey, int *framenr, int *proxy, int *render_flags) |
Definition at line 40 of file IMB_moviecache.h.
| typedef void*(* MovieCacheGetPriorityDataFP) (void *userkey) |
Definition at line 42 of file IMB_moviecache.h.
| typedef void(* MovieCachePriorityDeleterFP) (void *priority_data) |
Definition at line 44 of file IMB_moviecache.h.
| void IMB_moviecache_cleanup | ( | struct MovieCache * | cache, |
| bool(cleanup_check_cb)(struct ImBuf *ibuf, void *userkey, void *userdata) | , | ||
| void * | userdata | ||
| ) |
Referenced by BKE_image_free_all_textures(), BKE_image_free_anim_ibufs(), and BKE_movieclip_clear_proxy_cache().
| struct MovieCache* IMB_moviecache_create | ( | const char * | name, |
| int | keysize, | ||
| GHashHashFP | hashfp, | ||
| GHashCmpFP | cmpfp | ||
| ) |
Definition at line 262 of file moviecache.c.
References BLI_ghash_new(), BLI_mempool_create(), BLI_MEMPOOL_NOP, BLI_strncpy(), MovieCache::cmpfp, MovieCache::hash, MovieCache::hashfp, MovieCache::items_pool, MovieCache::keys_pool, MovieCache::keysize, MEM_callocN, moviecache_hashcmp(), moviecache_hashhash(), MovieCache::name, PRINT, MovieCache::proxy, and MovieCache::userkeys_pool.
Referenced by colormanage_moviecache_ensure(), imagecache_put(), and put_imbuf_cache().
| void IMB_moviecache_destruct | ( | void | ) |
Definition at line 255 of file moviecache.c.
References delete_MEM_CacheLimiter(), and limitor.
Referenced by BKE_blender_free().
| void IMB_moviecache_free | ( | struct MovieCache * | cache | ) |
Definition at line 434 of file moviecache.c.
References BLI_ghash_free(), BLI_mempool_destroy(), MovieCache::hash, MovieCache::items_pool, MovieCache::keys_pool, MovieCache::last_userkey, MEM_freeN, moviecache_keyfree(), moviecache_valfree(), MovieCache::name, MovieCache::points, PRINT, and MovieCache::userkeys_pool.
Referenced by colormanage_cache_free(), free_buffers(), and image_free_cached_frames().
| struct ImBuf* IMB_moviecache_get | ( | struct MovieCache * | cache, |
| void * | userkey | ||
| ) |
Definition at line 398 of file moviecache.c.
References BLI_ghash_lookup(), BLI_mutex_lock(), BLI_mutex_unlock(), MovieCacheItem::c_handle, MovieCacheKey::cache_owner, MovieCache::hash, MovieCacheItem::ibuf, IMB_refImBuf(), limitor_lock, MEM_CacheLimiter_touch(), NULL, and MovieCacheKey::userkey.
Referenced by colormanage_cache_get_ibuf(), get_imbuf_cache(), and imagecache_get().
| void IMB_moviecache_get_cache_segments | ( | struct MovieCache * | cache, |
| int | proxy, | ||
| int | render_flags, | ||
| int * | r_totseg, | ||
| int ** | r_points | ||
| ) |
Definition at line 480 of file moviecache.c.
References Freestyle::a, BLI_ghash_len(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue(), compare_int(), MovieCache::getdatafp, GHASH_ITER, MovieCache::hash, MovieCacheItem::ibuf, MEM_callocN, MEM_freeN, NULL, MovieCache::points, MovieCache::proxy, MovieCache::render_flags, MovieCache::totseg, and MovieCacheKey::userkey.
Referenced by BKE_movieclip_get_cache_segments(), and draw_image_cache().
| bool IMB_moviecache_has_frame | ( | struct MovieCache * | cache, |
| void * | userkey | ||
| ) |
Definition at line 422 of file moviecache.c.
References BLI_ghash_lookup(), MovieCacheKey::cache_owner, MovieCache::hash, NULL, and MovieCacheKey::userkey.
Referenced by has_imbuf_cache().
| void IMB_moviecache_init | ( | void | ) |
Definition at line 247 of file moviecache.c.
References get_item_destroyable(), get_item_priority(), get_item_size(), IMB_moviecache_destructor(), limitor, MEM_CacheLimiter_ItemDestroyable_Func_set(), MEM_CacheLimiter_ItemPriority_Func_set(), and new_MEM_CacheLimiter().
Referenced by do_moviecache_put().
| void IMB_moviecache_put | ( | struct MovieCache * | cache, |
| void * | userkey, | ||
| struct ImBuf * | ibuf | ||
| ) |
Definition at line 364 of file moviecache.c.
References do_moviecache_put().
Referenced by colormanage_cache_put(), imagecache_put(), and put_imbuf_cache().
| bool IMB_moviecache_put_if_possible | ( | struct MovieCache * | cache, |
| void * | userkey, | ||
| struct ImBuf * | ibuf | ||
| ) |
Definition at line 369 of file moviecache.c.
References BLI_mutex_lock(), BLI_mutex_unlock(), do_moviecache_put(), get_size_in_memory(), limitor, limitor_lock, MEM_CacheLimiter_get_maximum(), MEM_CacheLimiter_get_memory_in_use(), mem_in_use, and result.
Referenced by put_imbuf_cache().
| void IMB_moviecache_remove | ( | struct MovieCache * | cache, |
| void * | userkey | ||
| ) |
Definition at line 390 of file moviecache.c.
References BLI_ghash_remove(), MovieCacheKey::cache_owner, MovieCache::hash, moviecache_keyfree(), moviecache_valfree(), and MovieCacheKey::userkey.
Referenced by imagecache_remove().
| void IMB_moviecache_set_getdata_callback | ( | struct MovieCache * | cache, |
| MovieCacheGetKeyDataFP | getdatafp | ||
| ) |
Definition at line 289 of file moviecache.c.
References MovieCache::getdatafp.
Referenced by imagecache_put(), and put_imbuf_cache().
| void IMB_moviecache_set_priority_callback | ( | struct MovieCache * | cache, |
| MovieCacheGetPriorityDataFP | getprioritydatafp, | ||
| MovieCacheGetItemPriorityFP | getitempriorityfp, | ||
| MovieCachePriorityDeleterFP | prioritydeleterfp | ||
| ) |
Definition at line 294 of file moviecache.c.
References MovieCache::getitempriorityfp, MovieCache::getprioritydatafp, MovieCache::keysize, MovieCache::last_userkey, MEM_mallocN, and MovieCache::prioritydeleterfp.
Referenced by put_imbuf_cache().
| bool IMB_moviecacheIter_done | ( | struct MovieCacheIter * | iter | ) |
Definition at line 585 of file moviecache.c.
References BLI_ghashIterator_done().
Referenced by BKE_image_file_format_set(), BKE_image_get_first_ibuf(), BKE_image_get_ibuf_with_name(), BKE_image_has_loaded_ibuf(), BKE_image_is_dirty_writable(), BKE_image_merge(), image_mem_size(), and image_save_sequence_exec().
| void IMB_moviecacheIter_free | ( | struct MovieCacheIter * | iter | ) |
Definition at line 580 of file moviecache.c.
References BLI_ghashIterator_free().
Referenced by BKE_image_file_format_set(), BKE_image_get_first_ibuf(), BKE_image_get_ibuf_with_name(), BKE_image_has_loaded_ibuf(), BKE_image_is_dirty_writable(), BKE_image_merge(), image_mem_size(), and image_save_sequence_exec().
| struct ImBuf* IMB_moviecacheIter_getImBuf | ( | struct MovieCacheIter * | iter | ) |
Definition at line 595 of file moviecache.c.
References BLI_ghashIterator_getValue(), and MovieCacheItem::ibuf.
Referenced by BKE_image_file_format_set(), BKE_image_get_first_ibuf(), BKE_image_get_ibuf_with_name(), BKE_image_is_dirty_writable(), BKE_image_merge(), image_mem_size(), and image_save_sequence_exec().
| void* IMB_moviecacheIter_getUserKey | ( | struct MovieCacheIter * | iter | ) |
Definition at line 601 of file moviecache.c.
References BLI_ghashIterator_getKey(), and MovieCacheKey::userkey.
Referenced by BKE_image_merge().
| struct MovieCacheIter* IMB_moviecacheIter_new | ( | struct MovieCache * | cache | ) |
Definition at line 570 of file moviecache.c.
References BLI_ghashIterator_new(), check_unused_keys(), and MovieCache::hash.
Referenced by BKE_image_file_format_set(), BKE_image_get_first_ibuf(), BKE_image_get_ibuf_with_name(), BKE_image_has_loaded_ibuf(), BKE_image_is_dirty_writable(), BKE_image_merge(), image_mem_size(), and image_save_sequence_exec().
| void IMB_moviecacheIter_step | ( | struct MovieCacheIter * | iter | ) |
Definition at line 590 of file moviecache.c.
References BLI_ghashIterator_step().
Referenced by BKE_image_file_format_set(), BKE_image_get_ibuf_with_name(), BKE_image_is_dirty_writable(), BKE_image_merge(), image_mem_size(), and image_save_sequence_exec().