Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2011-12-28 22:31:32 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2011-12-28 22:31:32 +0400
commitc2ae77e5bdd60e4cfe9b1f9d3d54e66f8089245c (patch)
tree505b5270122ec50302f6f824088b43318d13a296 /source/blender/blenkernel/intern/tracking.c
parentfd134927dd23047237c6e490c09454487ba19a4a (diff)
parentfe2131367b3f1ca1f974d1d6160cfc8a1a220abe (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.c18
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;