[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