From f56590a5f5b32a2b924eb4ed914794657f2d145b Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 3 Aug 2011 19:05:58 +0000 Subject: [PATCH] Camera tracking integration =========================== - Fixed crash when Display->Stable is enabled before loading clip. - Fixed bug with location influence on stabilization data. --- source/blender/blenkernel/intern/tracking.c | 4 +++- source/blender/editors/space_clip/space_clip.c | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index ab90bfad3b6..09a28f87fc3 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -1308,7 +1308,6 @@ static float stabilization_auto_scale_factor(MovieTracking *tracking) static void calculate_stabdata(MovieTrackingStabilization *stab, float width, float height, float firstmedian[2], float curmedian[2], float loc[2], float *scale) { - mul_v2_fl(loc, stab->locinf); *scale= (stab->scale-1.f)*stab->scaleinf+1.f; loc[0]= (firstmedian[0]-curmedian[0])*width*(*scale); @@ -1316,8 +1315,11 @@ static void calculate_stabdata(MovieTrackingStabilization *stab, float width, fl loc[0]-= (firstmedian[0]*(*scale)-firstmedian[0])*width; loc[1]-= (firstmedian[1]*(*scale)-firstmedian[1])*height; + + mul_v2_fl(loc, stab->locinf); } + static ImBuf* stabilize_acquire_ibuf(ImBuf *cacheibuf, ImBuf *srcibuf, int fill) { int flags; diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c index 597f0c32b60..c880ffb3b08 100644 --- a/source/blender/editors/space_clip/space_clip.c +++ b/source/blender/editors/space_clip/space_clip.c @@ -88,9 +88,12 @@ static void clip_stabilization_tag_refresh(ScrArea *sa) { SpaceClip *sc= (SpaceClip *)sa->spacedata.first; MovieClip *clip= ED_space_clip(sc); - MovieTrackingStabilization *stab= &clip->tracking.stabilization; - stab->ok= 0; + if(clip) { + MovieTrackingStabilization *stab= &clip->tracking.stabilization; + + stab->ok= 0; + } } /* ******************** default callbacks for clip space ***************** */