[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42899] trunk/blender/source/blender: More fixes for timecode usage with BKE_movieclip_get_ibuf_flag

Sergey Sharybin sergey.vfx at gmail.com
Tue Dec 27 12:09:13 CET 2011


Revision: 42899
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42899
Author:   nazgul
Date:     2011-12-27 11:09:06 +0000 (Tue, 27 Dec 2011)
Log Message:
-----------
More fixes for timecode usage with BKE_movieclip_get_ibuf_flag

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_movieclip.h
    trunk/blender/source/blender/blenkernel/intern/movieclip.c
    trunk/blender/source/blender/blenkernel/intern/tracking.c
    trunk/blender/source/blender/editors/space_clip/clip_ops.c
    trunk/blender/source/blender/editors/space_clip/tracking_ops.c
    trunk/blender/source/blender/makesdna/DNA_movieclip_types.h

Modified: trunk/blender/source/blender/blenkernel/BKE_movieclip.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_movieclip.h	2011-12-27 10:52:23 UTC (rev 42898)
+++ trunk/blender/source/blender/blenkernel/BKE_movieclip.h	2011-12-27 11:09:06 UTC (rev 42899)
@@ -60,7 +60,7 @@
 
 void BKE_movieclip_get_cache_segments(struct MovieClip *clip, struct MovieClipUser *user, int *totseg_r, int **points_r);
 
-void BKE_movieclip_build_proxy_frame(struct MovieClip *clip, struct MovieDistortion *distortion,
+void BKE_movieclip_build_proxy_frame(struct MovieClip *clip, int clip_flag, struct MovieDistortion *distortion,
 			int cfra, int *build_sizes, int build_count, int undistorted);
 
 #define TRACK_CLEAR_UPTO		0

Modified: trunk/blender/source/blender/blenkernel/intern/movieclip.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/movieclip.c	2011-12-27 10:52:23 UTC (rev 42898)
+++ trunk/blender/source/blender/blenkernel/intern/movieclip.c	2011-12-27 11:09:06 UTC (rev 42899)
@@ -918,15 +918,17 @@
 	IMB_freeImBuf(scaleibuf);
 }
 
-void BKE_movieclip_build_proxy_frame(MovieClip *clip, struct MovieDistortion *distortion,
+void BKE_movieclip_build_proxy_frame(MovieClip *clip, int clip_flag, struct MovieDistortion *distortion,
 			int cfra, int *build_sizes, int build_count, int undistorted)
 {
 	ImBuf *ibuf;
 	MovieClipUser user;
 
 	user.framenr= cfra;
+	user.render_flag= 0;
+	user.render_size= MCLIP_PROXY_RENDER_SIZE_FULL;
 
-	ibuf= BKE_movieclip_get_ibuf_flag(clip, &user, 0);
+	ibuf= BKE_movieclip_get_ibuf_flag(clip, &user, clip_flag);
 
 	if(ibuf) {
 		ImBuf *tmpibuf= ibuf;

Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c	2011-12-27 10:52:23 UTC (rev 42898)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c	2011-12-27 11:09:06 UTC (rev 42899)
@@ -840,7 +840,7 @@
 	 * - MCLIP_USE_PROXY_CUSTOM_DIR is needed because proxy/timecode files might
 	 *   be stored in a different location
 	 * ignore all the rest pssible flags for now */
-	context->clip_flag= clip->flag & (MCLIP_USE_PROXY|MCLIP_USE_PROXY_CUSTOM_DIR);
+	context->clip_flag= clip->flag&MCLIP_TIMECODE_FLAGS;
 
 	context->user= *user;
 	context->user.render_size= 0;

Modified: trunk/blender/source/blender/editors/space_clip/clip_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/clip_ops.c	2011-12-27 10:52:23 UTC (rev 42898)
+++ trunk/blender/source/blender/editors/space_clip/clip_ops.c	2011-12-27 11:09:06 UTC (rev 42899)
@@ -827,6 +827,7 @@
 	Scene *scene;
 	struct Main *main;
 	MovieClip *clip;
+	int clip_flag;
 } ProxyJob;
 
 static void proxy_freejob(void *pjv)
@@ -877,10 +878,10 @@
 
 	for(cfra= sfra; cfra<=efra; cfra++) {
 		if(clip->source != MCLIP_SRC_MOVIE)
-			BKE_movieclip_build_proxy_frame(clip, NULL, cfra, build_sizes, build_count, 0);
+			BKE_movieclip_build_proxy_frame(clip, pj->clip_flag, NULL, cfra, build_sizes, build_count, 0);
 
 		if(undistort)
-			BKE_movieclip_build_proxy_frame(clip, distortion, cfra, build_sizes, build_count, 1);
+			BKE_movieclip_build_proxy_frame(clip, pj->clip_flag, distortion, cfra, build_sizes, build_count, 1);
 
 		if(*stop || G.afbreek)
 			break;
@@ -911,6 +912,7 @@
 	pj->scene= scene;
 	pj->main= CTX_data_main(C);
 	pj->clip= clip;
+	pj->clip_flag= clip->flag&MCLIP_TIMECODE_FLAGS;
 
 	WM_jobs_customdata(steve, pj, proxy_freejob);
 	WM_jobs_timer(steve, 0.2, NC_MOVIECLIP|ND_DISPLAY, 0);

Modified: trunk/blender/source/blender/editors/space_clip/tracking_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/tracking_ops.c	2011-12-27 10:52:23 UTC (rev 42898)
+++ trunk/blender/source/blender/editors/space_clip/tracking_ops.c	2011-12-27 11:09:06 UTC (rev 42899)
@@ -2406,7 +2406,8 @@
 {
 	SpaceClip *sc= CTX_wm_space_clip(C);
 	MovieClip *clip= ED_space_clip(sc);
-	ImBuf *ibuf= BKE_movieclip_get_ibuf_flag(clip, &sc->user, 0);
+	int clip_flag= clip->flag&MCLIP_TIMECODE_FLAGS;
+	ImBuf *ibuf= BKE_movieclip_get_ibuf_flag(clip, &sc->user, clip_flag);
 	MovieTrackingTrack *track= clip->tracking.tracks.first;
 	int placement= RNA_enum_get(op->ptr, "placement");
 	int margin= RNA_int_get(op->ptr, "margin");

Modified: trunk/blender/source/blender/makesdna/DNA_movieclip_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_movieclip_types.h	2011-12-27 10:52:23 UTC (rev 42898)
+++ trunk/blender/source/blender/makesdna/DNA_movieclip_types.h	2011-12-27 11:09:06 UTC (rev 42899)
@@ -113,6 +113,8 @@
 #define MCLIP_USE_PROXY					(1<<0)
 #define MCLIP_USE_PROXY_CUSTOM_DIR		(1<<1)
 
+#define MCLIP_TIMECODE_FLAGS			(MCLIP_USE_PROXY|MCLIP_USE_PROXY_CUSTOM_DIR)
+
 /* MovieClip->render_size */
 #define MCLIP_PROXY_RENDER_SIZE_FULL	0
 #define MCLIP_PROXY_RENDER_SIZE_25		1




More information about the Bf-blender-cvs mailing list