diff options
author | Sergey Sharybin <sergey@blender.org> | 2020-11-24 18:29:41 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2020-11-25 11:37:24 +0300 |
commit | b1533f8fa4b157a1f6d4e383c4e60d384cb6dd97 (patch) | |
tree | 6df1c72f706ee6569dfd1c90cb6eb76a3ee45d3b /source/blender/blenkernel/intern/tracking_stabilize.c | |
parent | e922dd7d8a307c54d49bc01649a12610b022192b (diff) |
Tracking: Cleanup, de-duplicate implementation of marker lookup
The logic was duplicated.
Should be no functional changes. The modified function is expected
to give same exact results for all inputs.
On the "caching last-used track" topic. The code was using last_marker
to allow faster lookup of marker closest to the frame. With this
change it is still the case since the BKE_tracking_marker_get() does
cache last used marker.
Diffstat (limited to 'source/blender/blenkernel/intern/tracking_stabilize.c')
-rw-r--r-- | source/blender/blenkernel/intern/tracking_stabilize.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/source/blender/blenkernel/intern/tracking_stabilize.c b/source/blender/blenkernel/intern/tracking_stabilize.c index d968ac4c03e..6f58416924f 100644 --- a/source/blender/blenkernel/intern/tracking_stabilize.c +++ b/source/blender/blenkernel/intern/tracking_stabilize.c @@ -270,21 +270,8 @@ static bool is_effectively_disabled(StabContext *ctx, static int search_closest_marker_index(MovieTrackingTrack *track, int ref_frame) { - MovieTrackingMarker *markers = track->markers; - int end = track->markersnr; - int i = track->last_marker; - - i = MAX2(0, i); - i = MIN2(i, end - 1); - for (; i < end - 1 && markers[i].framenr <= ref_frame; i++) { - /* pass */ - } - for (; 0 < i && markers[i].framenr > ref_frame; i--) { - /* pass */ - } - - track->last_marker = i; - return i; + const MovieTrackingMarker *marker = BKE_tracking_marker_get(track, ref_frame); + return marker - track->markers; } static void retrieve_next_higher_usable_frame( |