Commit: 30e7bdfe1067ea768f3d3019f28bcf957152c032
Author: Sergey Sharybin
Date:   Mon Jun 9 14:11:48 2014 +0600
https://developer.blender.org/rB30e7bdfe1067ea768f3d3019f28bcf957152c032

Revert "Fix T40382: 2D stabilization uses disabled markers"

It's not that trivial to support disapearing tracks in the sequence,
and since we're having ongoing 2D stabilization rework patch wouldn't
want to start doing rather bigger changes here now.

Let's just stick to legacy behavior for this release.

This reverts commits 91429d0, 543ce85

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

M       source/blender/blenkernel/intern/tracking_stabilize.c

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

diff --git a/source/blender/blenkernel/intern/tracking_stabilize.c 
b/source/blender/blenkernel/intern/tracking_stabilize.c
index d5b3f3c..8cdb547 100644
--- a/source/blender/blenkernel/intern/tracking_stabilize.c
+++ b/source/blender/blenkernel/intern/tracking_stabilize.c
@@ -59,12 +59,11 @@ static bool stabilization_median_point_get(MovieTracking 
*tracking, int framenr,
        track = tracking->tracks.first;
        while (track) {
                if (track->flag & TRACK_USE_2D_STAB) {
-                       MovieTrackingMarker *marker = 
BKE_tracking_marker_get_exact(track, framenr);
+                       MovieTrackingMarker *marker = 
BKE_tracking_marker_get(track, framenr);
 
-                       if (marker != NULL && (marker->flag & MARKER_DISABLED) 
== 0) {
-                               minmax_v2v2_v2(min, max, marker->pos);
-                               ok = true;
-                       }
+                       minmax_v2v2_v2(min, max, marker->pos);
+
+                       ok = true;
                }
 
                track = track->next;
@@ -102,26 +101,22 @@ static void stabilization_calculate_data(MovieTracking 
*tracking, int framenr, i
                float x0 = (float)width / 2.0f, y0 = (float)height / 2.0f;
                float x = median[0] * width, y = median[1] * height;
 
-               marker = BKE_tracking_marker_get_exact(stab->rot_track, 1);
-               if (marker != NULL && (marker->flag & MARKER_DISABLED) == 0) {
-                       sub_v2_v2v2(a, marker->pos, firstmedian);
-                       a[0] *= width;
-                       a[1] *= height;
+               marker = BKE_tracking_marker_get(stab->rot_track, 1);
+               sub_v2_v2v2(a, marker->pos, firstmedian);
+               a[0] *= width;
+               a[1] *= height;
 
-                       marker = BKE_tracking_marker_get_exact(stab->rot_track, 
framenr);
-                       if (marker != NULL && (marker->flag & MARKER_DISABLED) 
== 0) {
-                               sub_v2_v2v2(b, marker->pos, median);
-                               b[0] *= width;
-                               b[1] *= height;
+               marker = BKE_tracking_marker_get(stab->rot_track, framenr);
+               sub_v2_v2v2(b, marker->pos, median);
+               b[0] *= width;
+               b[1] *= height;
 
-                               *angle = -atan2f(a[0] * b[1] - a[1] * b[0], 
a[0] * b[0] + a[1] * b[1]);
-                               *angle *= stab->rotinf;
+               *angle = -atan2f(a[0] * b[1] - a[1] * b[0], a[0] * b[0] + a[1] 
* b[1]);
+               *angle *= stab->rotinf;
 
-                               /* convert to rotation around image center */
-                               translation[0] -= (x0 + (x - x0) * cosf(*angle) 
- (y - y0) * sinf(*angle) - x) * (*scale);
-                               translation[1] -= (y0 + (x - x0) * sinf(*angle) 
+ (y - y0) * cosf(*angle) - y) * (*scale);
-                       }
-               }
+               /* convert to rotation around image center */
+               translation[0] -= (x0 + (x - x0) * cosf(*angle) - (y - y0) * 
sinf(*angle) - x) * (*scale);
+               translation[1] -= (y0 + (x - x0) * sinf(*angle) + (y - y0) * 
cosf(*angle) - y) * (*scale);
        }
 }
 
@@ -170,9 +165,7 @@ static float 
stabilization_calculate_autoscale_factor(MovieTracking *tracking, i
                        float points[4][2] = {{0.0f, 0.0f}, {0.0f, height}, 
{width, height}, {width, 0.0f}};
                        float si, co;
 
-                       if (!stabilization_median_point_get(tracking, cfra, 
median)) {
-                               continue;
-                       }
+                       stabilization_median_point_get(tracking, cfra, median);
 
                        stabilization_calculate_data(tracking, cfra, width, 
height, firstmedian, median, translation,
                                                     &tmp_scale, &angle);
@@ -281,9 +274,9 @@ void BKE_tracking_stabilization_data_get(MovieTracking 
*tracking, int framenr, i
         * However, it's still better to replace this with real first
         * frame number at which tracks are appearing.
         */
-       if (stabilization_median_point_get(tracking, 1, firstmedian) &&
-           stabilization_median_point_get(tracking, framenr, median))
-       {
+       if (stabilization_median_point_get(tracking, 1, firstmedian)) {
+               stabilization_median_point_get(tracking, framenr, median);
+
                if ((stab->flag & TRACKING_AUTOSCALE) == 0)
                        stab->scale = 1.0f;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to