[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42481] trunk/blender/source/blender/ blenkernel/intern/tracking.c: Camera tracking: some bug fixes

Sergey Sharybin sergey.vfx at gmail.com
Wed Dec 7 10:21:50 CET 2011


Revision: 42481
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42481
Author:   nazgul
Date:     2011-12-07 09:21:50 +0000 (Wed, 07 Dec 2011)
Log Message:
-----------
Camera tracking: some bug fixes

- Fixed bug with not putting disabled markers properly when doing backwards tracking
- Fixed margin size calculating from pattern size which used to be double-sized
  and prevented to track things on the image edges.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/tracking.c

Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c	2011-12-07 09:13:15 UTC (rev 42480)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c	2011-12-07 09:21:50 UTC (rev 42481)
@@ -1158,7 +1158,7 @@
 		if(marker && (marker->flag&MARKER_DISABLED)==0) {
 #ifdef WITH_LIBMV
 			int width, height, origin[2], tracked= 0, need_readjust= 0;
-			float pos[2], margin[2];
+			float pos[2], margin[2], dim[2];
 			double x1, y1, x2, y2;
 			ImBuf *ibuf= NULL;
 			MovieTrackingMarker marker_new, *marker_keyed;
@@ -1174,7 +1174,8 @@
 			else nextfra= curfra+1;
 
 			/* margin from frame boundaries */
-			sub_v2_v2v2(margin, track->pat_max, track->pat_min);
+			sub_v2_v2v2(dim, track->pat_max, track->pat_min);
+			margin[0]= margin[1]= MAX2(dim[0], dim[1]) / 2.0f;
 
 			margin[0]= MAX2(margin[0], (float)track->margin / ibuf_new->x);
 			margin[1]= MAX2(margin[1], (float)track->margin / ibuf_new->y);
@@ -1287,7 +1288,7 @@
 					{
 						/* check if there's no keyframe/tracked markers before tracking marker.
 						   if so -- create disabled marker before currently tracking "segment" */
-						put_disabled_marker(track, marker, 1, 0);
+						put_disabled_marker(track, marker, !context->backwards, 0);
 					}
 				}
 
@@ -1311,7 +1312,7 @@
 				/* make currently tracked segment be finished with disabled marker */
 				#pragma omp critical
 				{
-					put_disabled_marker(track, &marker_new, 0, 0);
+					put_disabled_marker(track, &marker_new, context->backwards, 0);
 				}
 			} else {
 				marker_new= *marker;




More information about the Bf-blender-cvs mailing list