From dbc9227a3247e2138f964b1687e3467f3f4b9741 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 7 Dec 2011 11:02:34 +0000 Subject: Disable markers when doing frame-by-frame tracking and tracker library returns failure --- source/blender/blenkernel/BKE_tracking.h | 2 +- source/blender/blenkernel/intern/tracking.c | 7 +++---- source/blender/editors/space_clip/tracking_ops.c | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h index 6c43493d1d4..d7bf7cb410f 100644 --- a/source/blender/blenkernel/BKE_tracking.h +++ b/source/blender/blenkernel/BKE_tracking.h @@ -98,7 +98,7 @@ struct MovieTrackingReconstruction *BKE_tracking_object_reconstruction(struct Mo /* 2D tracking */ struct MovieTrackingContext *BKE_tracking_context_new(struct MovieClip *clip, struct MovieClipUser *user, - short backwards, short disable_failed); + short backwards); void BKE_tracking_context_free(struct MovieTrackingContext *context); void BKE_tracking_sync(struct MovieTrackingContext *context); void BKE_tracking_sync_user(struct MovieClipUser *user, struct MovieTrackingContext *context); diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index d1929e25c40..164320562f4 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -784,11 +784,11 @@ typedef struct MovieTrackingContext { MovieTrackingSettings settings; TracksMap *tracks_map; - short backwards, disable_failed; + short backwards; int sync_frame; } MovieTrackingContext; -MovieTrackingContext *BKE_tracking_context_new(MovieClip *clip, MovieClipUser *user, short backwards, short disable_failed) +MovieTrackingContext *BKE_tracking_context_new(MovieClip *clip, MovieClipUser *user, short backwards) { MovieTrackingContext *context= MEM_callocN(sizeof(MovieTrackingContext), "trackingContext"); MovieTracking *tracking= &clip->tracking; @@ -800,7 +800,6 @@ MovieTrackingContext *BKE_tracking_context_new(MovieClip *clip, MovieClipUser *u context->settings= *settings; context->backwards= backwards; - context->disable_failed= disable_failed; context->sync_frame= user->framenr; context->first_time= 1; @@ -1356,7 +1355,7 @@ int BKE_tracking_next(MovieTrackingContext *context) } coords_correct= !isnan(x2) && !isnan(y2) && finite(x2) && finite(y2); - if(coords_correct && (tracked || !context->disable_failed)) { + if(coords_correct && !onbound && tracked) { if(context->first_time) { #pragma omp critical { diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c index 59631e3a181..49ea3247a55 100644 --- a/source/blender/editors/space_clip/tracking_ops.c +++ b/source/blender/editors/space_clip/tracking_ops.c @@ -1317,7 +1317,7 @@ static int track_markers_initjob(bContext *C, TrackMarkersJob *tmj, int backward else if(settings->speed==TRACKING_SPEED_DOUBLE) tmj->delay/= 2; } - tmj->context= BKE_tracking_context_new(clip, &sc->user, backwards, 1); + tmj->context= BKE_tracking_context_new(clip, &sc->user, backwards); clip->tracking_context= tmj->context; @@ -1428,7 +1428,7 @@ static int track_markers_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; /* do not disable tracks due to threshold when tracking frame-by-frame */ - context= BKE_tracking_context_new(clip, &sc->user, backwards, sequence); + context= BKE_tracking_context_new(clip, &sc->user, backwards); while(framenr != efra) { if(!BKE_tracking_next(context)) -- cgit v1.2.3