Revision: 38901
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38901
Author:   nazgul
Date:     2011-08-01 16:34:28 +0000 (Mon, 01 Aug 2011)
Log Message:
-----------
Merging r38858 through r38900 from soc-2011-tomato into soc-2011-salad

Revision Links:
--------------
    
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38858
    
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38900

Modified Paths:
--------------
    branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h
    branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h
    branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h
    branches/soc-2011-salad/source/blender/blenkernel/intern/DerivedMesh.c
    branches/soc-2011-salad/source/blender/blenkernel/intern/movieclip.c
    branches/soc-2011-salad/source/blender/blenkernel/intern/node.c
    branches/soc-2011-salad/source/blender/blenkernel/intern/tracking.c
    branches/soc-2011-salad/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-salad/source/blender/editors/include/ED_clip.h
    branches/soc-2011-salad/source/blender/editors/space_clip/clip_draw.c
    branches/soc-2011-salad/source/blender/editors/space_clip/clip_editor.c
    branches/soc-2011-salad/source/blender/editors/space_clip/clip_ops.c
    branches/soc-2011-salad/source/blender/editors/space_clip/space_clip.c
    branches/soc-2011-salad/source/blender/editors/space_clip/tracking_ops.c
    branches/soc-2011-salad/source/blender/editors/space_node/drawnode.c
    branches/soc-2011-salad/source/blender/makesdna/DNA_movieclip_types.h
    branches/soc-2011-salad/source/blender/makesdna/DNA_space_types.h
    branches/soc-2011-salad/source/blender/makesdna/DNA_tracking_types.h
    branches/soc-2011-salad/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2011-salad/source/blender/makesrna/intern/rna_nodetree_types.h
    branches/soc-2011-salad/source/blender/makesrna/intern/rna_space.c
    branches/soc-2011-salad/source/blender/makesrna/intern/rna_tracking.c
    branches/soc-2011-salad/source/blender/nodes/CMP_node.h
    branches/soc-2011-salad/source/blender/nodes/CMakeLists.txt
    
branches/soc-2011-salad/source/blender/nodes/intern/CMP_nodes/CMP_movieclip.c
    branches/soc-2011-salad/source/blender/nodes/intern/CMP_nodes/CMP_scale.c
    
branches/soc-2011-salad/source/blender/nodes/intern/CMP_nodes/CMP_stabilize2d.c
    branches/soc-2011-salad/source/blender/nodes/intern/CMP_util.h

Added Paths:
-----------
    
branches/soc-2011-salad/source/blender/nodes/intern/CMP_nodes/CMP_transform.c

Property Changed:
----------------
    branches/soc-2011-salad/
    branches/soc-2011-salad/intern/audaspace/OpenAL/


Property changes on: branches/soc-2011-salad
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282,38620,38661-38662
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-38846
/branches/soc-2011-tomato:36831-38857
/trunk/blender:36834-38898
   + /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282,38620,38661-38662
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-38846
/branches/soc-2011-tomato:36831-38900
/trunk/blender:36834-38898


Property changes on: branches/soc-2011-salad/intern/audaspace/OpenAL
___________________________________________________________________
Added: svn:mergeinfo
   + /trunk/blender/intern/audaspace/OpenAL:38832-38897

Modified: branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py 
2011-08-01 15:52:20 UTC (rev 38900)
+++ branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py 
2011-08-01 16:34:28 UTC (rev 38901)
@@ -328,8 +328,9 @@
 
         row = layout.row()
         row.prop(sc, "show_track_path", text="Path")
-        row.active = sc.show_track_path
-        row.prop(sc, "path_length", text="Length")
+        sub = row.column()
+        sub.active = sc.show_track_path
+        sub.prop(sc, "path_length", text="Length")
 
         row = layout.row()
         row.prop(sc, "show_disabled", text="Disabled")
@@ -339,7 +340,9 @@
         row.prop(sc, "show_names", text="Names")
         row.prop(sc, "show_grid", text="Grid")
 
-        layout.prop(sc, "show_tiny_markers", text="Tiny Markers")
+        row = layout.row()
+        row.prop(sc, "show_tiny_markers", text="Tiny Markers")
+        row.prop(sc, "show_stable", text="Stable")
 
         layout.prop(sc, "lock_selection")
         layout.prop(sc, "use_mute_footage")
@@ -377,7 +380,6 @@
 
         layout.active = stab.use_2d_stabilization
 
-        layout.prop(stab, "use_autoscale")
 
         row = layout.row()
         row.template_list(stab, "tracks", stab, "active_track_index", rows=3)
@@ -387,7 +389,14 @@
         sub.operator("clip.stabilize_2d_remove", icon='ZOOMOUT', text="")
         sub.menu('CLIP_MT_stabilize_2d_specials', text="", 
icon="DOWNARROW_HLT")
 
+        layout.prop(stab, "influence_location")
 
+        layout.prop(stab, "use_autoscale")
+        row = layout.row()
+        row.active = stab.use_autoscale
+        row.prop(stab, "influence_scale")
+
+
 class CLIP_PT_footage(bpy.types.Panel):
     bl_space_type = 'CLIP_EDITOR'
     bl_region_type = 'UI'

Modified: branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h   
2011-08-01 15:52:20 UTC (rev 38900)
+++ branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h   
2011-08-01 16:34:28 UTC (rev 38901)
@@ -48,7 +48,7 @@
 void BKE_movieclip_reload(struct MovieClip *clip);
 
 struct ImBuf *BKE_movieclip_acquire_ibuf(struct MovieClip *clip, struct 
MovieClipUser *user);
-struct ImBuf *BKE_movieclip_acquire_stable_ibuf(struct MovieClip *clip, struct 
MovieClipUser *user, float mat[4][4]);
+struct ImBuf *BKE_movieclip_acquire_stable_ibuf(struct MovieClip *clip, struct 
MovieClipUser *user, float loc[2], float *scale);
 void BKE_movieclip_acquire_size(struct MovieClip *clip, struct MovieClipUser 
*user, int *width, int *height);
 int BKE_movieclip_has_frame(struct MovieClip *clip, struct MovieClipUser 
*user);
 void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr);

Modified: branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h        
2011-08-01 15:52:20 UTC (rev 38900)
+++ branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h        
2011-08-01 16:34:28 UTC (rev 38901)
@@ -389,6 +389,7 @@
 #define CMP_NODE_HUECORRECT 261
 #define CMP_NODE_MOVIECLIP     262
 #define CMP_NODE_STABILIZE2D   263
+#define CMP_NODE_TRANSFORM     264
 
 #define CMP_NODE_GLARE         301
 #define CMP_NODE_TONEMAP       302

Modified: branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h    
2011-08-01 15:52:20 UTC (rev 38900)
+++ branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h    
2011-08-01 16:34:28 UTC (rev 38901)
@@ -87,8 +87,9 @@
 
 struct MovieTrackingTrack *BKE_tracking_indexed_bundle(struct MovieTracking 
*tracking, int bundlenr);
 
-void BKE_tracking_stabilization_matrix(struct MovieTracking *tracking, int 
framenr, int width, int height, float mat[4][4]);
-struct ImBuf *BKE_tracking_stabilize_shot(struct MovieTracking *tracking, int 
framenr, struct ImBuf *ibuf, float mat[4][4]);
+void BKE_tracking_stabilization_data(struct MovieTracking *tracking, int 
framenr, int width, int height, float loc[2], float *scale);
+struct ImBuf *BKE_tracking_stabilize_shot(struct MovieTracking *tracking, int 
framenr, struct ImBuf *ibuf, float loc[2], float *scale);
+void BKE_tracking_stabdata_to_mat4(float loc[2], float scale, float mat[4][4]);
 
 #define TRACK_SELECTED(track)                          
(((track->flag&TRACK_HIDDEN)==0) && ((track)->flag&SELECT || 
(track)->pat_flag&SELECT || (track)->search_flag&SELECT))
 #define TRACK_AREA_SELECTED(track, area)       
(((track->flag&TRACK_HIDDEN)==0) && 
((area)==TRACK_AREA_POINT?(track)->flag&SELECT : 
((area)==TRACK_AREA_PAT?(track)->pat_flag&SELECT:(track)->search_flag&SELECT)))

Modified: branches/soc-2011-salad/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/intern/DerivedMesh.c      
2011-08-01 15:52:20 UTC (rev 38900)
+++ branches/soc-2011-salad/source/blender/blenkernel/intern/DerivedMesh.c      
2011-08-01 16:34:28 UTC (rev 38901)
@@ -1960,10 +1960,12 @@
                        /* set the DerivedMesh to only copy needed data */
                        mask= (CustomDataMask)GET_INT_FROM_POINTER(curr->link);
                        mask |= append_mask;
-                       DM_set_only_copy(dm, mask);
                        /* needMapping check here fixes bug [#28112], otherwise 
its
                         * possible that it wont be copied */
                        DM_set_only_copy(dm, mask | (needMapping ? 
CD_MASK_ORIGINDEX : 0));
+                       /* needMapping check here fixes bug [#28112], otherwise 
its
+                        * possible that it wont be copied */
+                       DM_set_only_copy(dm, mask | (needMapping ? 
CD_MASK_ORIGINDEX : 0));
                        
                        /* add cloth rest shape key if need */
                        if(mask & CD_MASK_CLOTH_ORCO)

Modified: branches/soc-2011-salad/source/blender/blenkernel/intern/movieclip.c
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/intern/movieclip.c        
2011-08-01 15:52:20 UTC (rev 38900)
+++ branches/soc-2011-salad/source/blender/blenkernel/intern/movieclip.c        
2011-08-01 16:34:28 UTC (rev 38901)
@@ -151,6 +151,16 @@
 
 /*********************** image buffer cache *************************/
 
+typedef struct MovieClipCache {
+       /* regular moive cache */
+       struct MovieCache *moviecache;
+
+       /* cache for stable shot */
+       int stable_framenr;
+       float stable_loc[2], stable_scale;
+       ImBuf *stableibuf;
+} MovieClipCache;
+
 typedef struct MovieClipImBufCacheKey {
        int framenr;
 } MovieClipImBufCacheKey;
@@ -183,11 +193,11 @@
 
 static ImBuf *get_imbuf_cache(MovieClip *clip, MovieClipUser *user)
 {
-       if(clip->ibuf_cache) {
+       if(clip->cache) {
                MovieClipImBufCacheKey key;
 
                key.framenr= user?user->framenr:clip->lastframe;
-               return BKE_moviecache_get(clip->ibuf_cache, &key);
+               return BKE_moviecache_get(clip->cache->moviecache, &key);
        }
 
        return NULL;
@@ -197,14 +207,16 @@
 {
        MovieClipImBufCacheKey key;
 
-       if(!clip->ibuf_cache) {
-               clip->ibuf_cache= 
BKE_moviecache_create(sizeof(MovieClipImBufCacheKey), moviecache_hashhash,
+       if(!clip->cache) {
+               clip->cache= MEM_callocN(sizeof(MovieClipCache), 
"movieClipCache");
+
+               clip->cache->moviecache= 
BKE_moviecache_create(sizeof(MovieClipImBufCacheKey), moviecache_hashhash,
                                moviecache_hashcmp, moviecache_keydata);
        }
 
        key.framenr= user?user->framenr:clip->lastframe;
 
-       BKE_moviecache_put(clip->ibuf_cache, &key, ibuf);
+       BKE_moviecache_put(clip->cache->moviecache, &key, ibuf);
 }
 
 /*********************** common functions *************************/
@@ -227,6 +239,9 @@
        clip->tracking.settings.keyframe2= 30;
        clip->tracking.settings.dist= 1;
 
+       clip->tracking.stabilization.scaleinf= 1.f;
+       clip->tracking.stabilization.locinf= 1.f;
+
        return clip;
 }
 
@@ -322,25 +337,45 @@
        return ibuf;
 }
 
-ImBuf *BKE_movieclip_acquire_stable_ibuf(MovieClip *clip, MovieClipUser *user, 
float mat[4][4])
+ImBuf *BKE_movieclip_acquire_stable_ibuf(MovieClip *clip, MovieClipUser *user, 
float loc[2], float *scale)
 {
-       ImBuf *ibuf, *stableibuf;
+       ImBuf *ibuf, *stableibuf= NULL;
        int framenr= user?user->framenr:clip->lastframe;
 
        ibuf= BKE_movieclip_acquire_ibuf(clip, user);
 
        if(clip->tracking.stabilization.flag&TRACKING_2D_STABILIZATION) {
-               MovieTrackingStabilization *stab= &clip->tracking.stabilization;
+               float tloc[2], tscale;
 
-               if(user->framenr!=stab->framenr)
-                       stab->ibufok= 0;
+               if(clip->cache->stableibuf && 
clip->cache->stable_framenr==framenr) {
+                       stableibuf= clip->cache->stableibuf;
 
-               stableibuf= BKE_tracking_stabilize_shot(&clip->tracking, 
framenr, ibuf, mat);
+                       BKE_tracking_stabilization_data(&clip->tracking, 
framenr, stableibuf->x, stableibuf->y, tloc, &tscale);
 
-               stab->framenr= user->framenr;
+                       if(!equals_v2v2(tloc, clip->cache->stable_loc) || 
tscale!=clip->cache->stable_scale) {
+                               stableibuf= NULL;
+                       }
+               }
+
+               if(!stableibuf) {
+                       if(clip->cache->stableibuf)
+                               IMB_freeImBuf(clip->cache->stableibuf);
+
+                       stableibuf= 
BKE_tracking_stabilize_shot(&clip->tracking, framenr, ibuf, tloc, &tscale);
+

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to