diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-12-28 22:31:32 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-12-28 22:31:32 +0400 |
commit | c2ae77e5bdd60e4cfe9b1f9d3d54e66f8089245c (patch) | |
tree | 505b5270122ec50302f6f824088b43318d13a296 /source/blender/blenkernel/intern/tracking.c | |
parent | fd134927dd23047237c6e490c09454487ba19a4a (diff) | |
parent | fe2131367b3f1ca1f974d1d6160cfc8a1a220abe (diff) |
Merging r42896 through r42944 from trunk into soc-2911-tomato
Diffstat (limited to 'source/blender/blenkernel/intern/tracking.c')
-rw-r--r-- | source/blender/blenkernel/intern/tracking.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index 0b58d1562fa..b75a9ff0037 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -780,6 +780,7 @@ typedef struct TrackContext { typedef struct MovieTrackingContext { MovieClipUser user; MovieClip *clip; + int clip_flag; int first_time, frames; @@ -882,7 +883,20 @@ MovieTrackingContext *BKE_tracking_context_new(MovieClip *clip, MovieClipUser *u } context->clip= clip; + + /* store needed clip flags passing to get_buffer functions + * - MCLIP_USE_PROXY is needed to because timecode affects on movie clip + * only in case Proxy/Timecode flag is set, so store this flag to use + * timecodes properly but reset render size to SIZE_FULL so correct resolution + * would be used for images + * - 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_TIMECODE_FLAGS; + context->user= *user; + context->user.render_size= 0; + context->user.render_flag= MCLIP_PROXY_RENDER_SIZE_FULL; if(!sequence) BLI_begin_threaded_malloc(); @@ -1119,7 +1133,7 @@ static ImBuf *get_frame_ibuf(MovieTrackingContext *context, int framenr) user.framenr= framenr; - ibuf= BKE_movieclip_get_ibuf_flag(context->clip, &user, 0); + ibuf= BKE_movieclip_get_ibuf_flag(context->clip, &user, context->clip_flag); return ibuf; } @@ -1223,7 +1237,7 @@ int BKE_tracking_next(MovieTrackingContext *context) if(context->backwards) context->user.framenr--; else context->user.framenr++; - ibuf_new= BKE_movieclip_get_ibuf_flag(context->clip, &context->user, 0); + ibuf_new= BKE_movieclip_get_ibuf_flag(context->clip, &context->user, context->clip_flag); if(!ibuf_new) return 0; |