[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48091] trunk/blender/source/blender/ compositor/operations/COM_KeyingScreenOperation.cpp: KeyingScreen would now deal properly with clips with Start Frame != 1

Sergey Sharybin sergey.vfx at gmail.com
Tue Jun 19 19:57:52 CEST 2012


Revision: 48091
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48091
Author:   nazgul
Date:     2012-06-19 17:57:51 +0000 (Tue, 19 Jun 2012)
Log Message:
-----------
KeyingScreen would now deal properly with clips with Start Frame != 1

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp

Modified: trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp	2012-06-19 17:56:30 UTC (rev 48090)
+++ trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp	2012-06-19 17:57:51 UTC (rev 48091)
@@ -85,6 +85,7 @@
 	int i;
 	int width = this->getWidth();
 	int height = this->getHeight();
+	int clip_frame = BKE_movieclip_remap_scene_to_clip_frame(this->movieClip, framenumber);
 
 	if (this->trackingObject[0]) {
 		MovieTrackingObject *object = BKE_tracking_object_get_named(tracking, this->trackingObject);
@@ -102,7 +103,7 @@
 	if (!sites_total)
 		return NULL;
 
-	BKE_movieclip_user_set_frame(&user, framenumber);
+	BKE_movieclip_user_set_frame(&user, clip_frame);
 	ibuf = BKE_movieclip_get_ibuf(movieClip, &user);
 
 	if (!ibuf)
@@ -115,7 +116,7 @@
 	i = 0;
 	while (track) {
 		VoronoiSite *site = &sites[i];
-		MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenumber);
+		MovieTrackingMarker *marker = BKE_tracking_marker_get(track, clip_frame);
 		ImBuf *pattern_ibuf = BKE_tracking_get_pattern_imbuf(ibuf, track, marker, TRUE, FALSE);
 		int j;
 
@@ -182,8 +183,9 @@
 	if (this->movieClip) {
 		MovieClipUser user = {0};
 		int width, height;
+		int clip_frame = BKE_movieclip_remap_scene_to_clip_frame(this->movieClip, framenumber);
 
-		BKE_movieclip_user_set_frame(&user, framenumber);
+		BKE_movieclip_user_set_frame(&user, clip_frame);
 		BKE_movieclip_get_size(this->movieClip, &user, &width, &height);
 
 		resolution[0] = width;




More information about the Bf-blender-cvs mailing list