Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-08-14 12:16:08 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-08-14 12:43:19 +0300
commitae561855cc0db0f5a1dd0013ec6a754c70e0c586 (patch)
tree071c13641ca716a17dd595ffa20d87920a26b07d
parent725a577327ef33575ab3157b1a2d0c2f2223519b (diff)
Tracking: Cleanup, de-duplicate code
-rw-r--r--source/blender/blenkernel/intern/tracking_util.c44
1 files changed, 24 insertions, 20 deletions
diff --git a/source/blender/blenkernel/intern/tracking_util.c b/source/blender/blenkernel/intern/tracking_util.c
index 13cb7193d4d..020c766efb3 100644
--- a/source/blender/blenkernel/intern/tracking_util.c
+++ b/source/blender/blenkernel/intern/tracking_util.c
@@ -568,6 +568,26 @@ static bool accesscache_hashcmp(const void *a_v, const void *b_v)
return false;
}
+static void accesscache_construct_key(AccessCacheKey *key,
+ int clip_index,
+ int frame,
+ libmv_InputMode input_mode,
+ int downscale,
+ const libmv_Region *region,
+ int64_t transform_key)
+{
+ key->clip_index = clip_index;
+ key->frame = frame;
+ key->input_mode = input_mode;
+ key->downscale = downscale;
+ key->has_region = (region != NULL);
+ if (key->has_region) {
+ copy_v2_v2(key->region_min, region->min);
+ copy_v2_v2(key->region_max, region->max);
+ }
+ key->transform_key = transform_key;
+}
+
static void accesscache_put(TrackingImageAccessor *accessor,
int clip_index,
int frame,
@@ -583,16 +603,8 @@ static void accesscache_put(TrackingImageAccessor *accessor,
*/
ibuf->userflags |= IB_PERSISTENT;
AccessCacheKey key;
- key.clip_index = clip_index;
- key.frame = frame;
- key.input_mode = input_mode;
- key.downscale = downscale;
- key.has_region = (region != NULL);
- if (key.has_region) {
- copy_v2_v2(key.region_min, region->min);
- copy_v2_v2(key.region_max, region->max);
- }
- key.transform_key = transform_key;
+ accesscache_construct_key(&key, clip_index, frame, input_mode, downscale,
+ region, transform_key);
IMB_moviecache_put(accessor->cache, &key, ibuf);
}
@@ -605,16 +617,8 @@ static ImBuf *accesscache_get(TrackingImageAccessor *accessor,
int64_t transform_key)
{
AccessCacheKey key;
- key.clip_index = clip_index;
- key.frame = frame;
- key.input_mode = input_mode;
- key.downscale = downscale;
- key.has_region = (region != NULL);
- if (key.has_region) {
- copy_v2_v2(key.region_min, region->min);
- copy_v2_v2(key.region_max, region->max);
- }
- key.transform_key = transform_key;
+ accesscache_construct_key(&key, clip_index, frame, input_mode, downscale,
+ region, transform_key);
return IMB_moviecache_get(accessor->cache, &key);
}