[Bf-blender-cvs] [b5290af821d] tracking_average: Tracking: Fix wrong interpolation at the end of markers array

Sergey Sharybin noreply at git.blender.org
Tue Jan 5 10:26:53 CET 2021


Commit: b5290af821d45f139f217d21f1d28ee427ca22af
Author: Sergey Sharybin
Date:   Tue Jan 5 10:26:34 2021 +0100
Branches: tracking_average
https://developer.blender.org/rBb5290af821d45f139f217d21f1d28ee427ca22af

Tracking: Fix wrong interpolation at the end of markers array

===================================================================

M	source/blender/blenkernel/intern/tracking.c
M	source/blender/blenkernel/intern/tracking_test.cc

===================================================================

diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c
index e41d8e5a162..68f311bc19c 100644
--- a/source/blender/blenkernel/intern/tracking.c
+++ b/source/blender/blenkernel/intern/tracking.c
@@ -1587,6 +1587,10 @@ bool BKE_tracking_marker_get_interpolated(struct MovieTrackingTrack *track,
   if (closest_marker == NULL) {
     return false;
   }
+  if (closest_marker->framenr == framenr && (closest_marker->flag & MARKER_DISABLED) == 0) {
+    *r_marker = *closest_marker;
+    return true;
+  }
 
   const MovieTrackingMarker *left_marker = get_usable_marker_for_interpolation(
       track, closest_marker, -1);
diff --git a/source/blender/blenkernel/intern/tracking_test.cc b/source/blender/blenkernel/intern/tracking_test.cc
index d3ce3ff82fc..13e1a7353c0 100644
--- a/source/blender/blenkernel/intern/tracking_test.cc
+++ b/source/blender/blenkernel/intern/tracking_test.cc
@@ -134,6 +134,13 @@ TEST_F(TrackingTest, BKE_tracking_marker_get_interpolated)
       EXPECT_V2_NEAR(interpolated_marker.pos, float2(1.3333333f, 3.6666666f), 1e-6f);
     }
 
+    {
+      MovieTrackingMarker interpolated_marker;
+      EXPECT_TRUE(BKE_tracking_marker_get_interpolated(&track, 9, &interpolated_marker));
+      EXPECT_EQ(interpolated_marker.framenr, 9);
+      EXPECT_V2_NEAR(interpolated_marker.pos, float2(1.888888f, 1.4444444f), 1e-6f);
+    }
+
     BKE_tracking_track_free(&track);
   }



More information about the Bf-blender-cvs mailing list