struct ImBuf *BKE_sequencer_cache_get(const SeqRenderData *context, Sequence *seq, float cfra, seq_stripelem_ibuf_t type) { if (moviecache && seq) { SeqCacheKey key; key.seq = seq; key.context = *context; key.cfra = cfra - seq->start; key.type = type; return IMB_moviecache_get(moviecache, &key); } return NULL; }
static ImBuf *accesscache_get(TrackingImageAccessor *accessor, int clip_index, int frame, libmv_InputMode input_mode, int downscale, int64_t transform_key) { AccessCacheKey key; key.clip_index = clip_index; key.frame = frame; key.input_mode = input_mode; key.downscale = downscale; key.transform_key = transform_key; return IMB_moviecache_get(accessor->cache, &key); }
static ImBuf *get_imbuf_cache(MovieClip *clip, MovieClipUser *user, int flag) { if (clip->cache) { MovieClipImBufCacheKey key; key.framenr = user_frame_to_cache_frame(clip, user->framenr); if (flag & MCLIP_USE_PROXY) { key.proxy = rendersize_to_proxy(user, flag); key.render_flag = user->render_flag; } else { key.proxy = IMB_PROXY_NONE; key.render_flag = 0; } return IMB_moviecache_get(clip->cache->moviecache, &key); } return NULL; }