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-08-01 19:28:19 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2011-08-01 19:28:19 +0400
commitb5716beef0c1c8ddd524e43aef182c3d7e651aba (patch)
tree6779f5bed217d95bc272891cbd0c5d7faaf0a1fb /source/blender/editors/space_clip/space_clip.c
parente9b3225b8d3df25d2b3f87b83398113f87d90854 (diff)
Camera tracking integration
=========================== - Do not show frame boundary border when stabilization isn't enabled. - Separate stabilization settings from display in clip editor. Now clip can contain stabilization data but still be displayed un-stabilized in clip editor. - Internal changes in stabilization: * Use separated location/scale parameters rather than 4x4 matrix. In some ares "decomposed" data is needed (text draw functions, i.e.). Also such decomposed data could be used in compositor. * MovieClip now uses own structure for cache where additional data can be stored. MovieCache structure now one of properties in this new structure. * Get rid of stable image buffer stored in MovieClipStabilization structure. Pre-created buffer for scaling still stored there. This helps to keep playback realtime -- re-creating this buffer introduces ~15% slowdown. - Added sliders to 2D stabilization panel which controls intensity of translation/scale which applies on shot. - Added filter type to Stabilize2D compositor node. Supports nearest, bilinear and bicubic interpolation. - After discussion with Sebastian and Francois added new node called Transformation. It can apply translation, rotation and scale. It's not the same thing as applying this components separately -- all transformation is happening inside "canvas". And it should be more accurate on interpolation and sub-pixel translation. Need to check order of applying translation/scale/rotation btw. - Added output sockets to movie clip compositor node. They holds stabilization data which can be used by Translate or Transform nodes. - Minor fix of UI issues in Display panel.
Diffstat (limited to 'source/blender/editors/space_clip/space_clip.c')
-rw-r--r--source/blender/editors/space_clip/space_clip.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c
index 2cade521b39..48c0853eb38 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -84,17 +84,13 @@ static void clip_scopes_tag_refresh(ScrArea *sa)
sc->scopes.ok= 0;
}
-static void clip_stabilization_tag_refresh(ScrArea *sa, int edited)
+static void clip_stabilization_tag_refresh(ScrArea *sa)
{
SpaceClip *sc= (SpaceClip *)sa->spacedata.first;
MovieClip *clip= ED_space_clip(sc);
MovieTrackingStabilization *stab= &clip->tracking.stabilization;
- if(edited) {
- stab->ok= 0;
- } else {
- stab->ibufok= 0;
- }
+ stab->ok= 0;
}
/* ******************** default callbacks for clip space ***************** */
@@ -177,7 +173,6 @@ static void clip_listener(ScrArea *sa, wmNotifier *wmn)
switch(wmn->data) {
case ND_FRAME:
clip_scopes_tag_refresh(sa);
- clip_stabilization_tag_refresh(sa, 0);
/* no break! */
case ND_FRAME_RANGE:
@@ -196,11 +191,13 @@ static void clip_listener(ScrArea *sa, wmNotifier *wmn)
}
switch(wmn->action) {
case NA_REMOVED:
- case NA_SELECTED:
case NA_EDITED:
case NA_EVALUATED:
+ clip_stabilization_tag_refresh(sa);
+ /* no break! */
+
+ case NA_SELECTED:
clip_scopes_tag_refresh(sa);
- clip_stabilization_tag_refresh(sa, 1);
ED_area_tag_redraw(sa);
break;
}
@@ -215,14 +212,13 @@ static void clip_listener(ScrArea *sa, wmNotifier *wmn)
break;
case NC_SCREEN:
if(wmn->data==ND_ANIMPLAY) {
- clip_stabilization_tag_refresh(sa, 0);
ED_area_tag_redraw(sa);
}
break;
case NC_SPACE:
if(wmn->data==ND_SPACE_CLIP) {
clip_scopes_tag_refresh(sa);
- clip_stabilization_tag_refresh(sa, 0);
+ clip_stabilization_tag_refresh(sa);
ED_area_tag_redraw(sa);
}
break;
@@ -496,7 +492,7 @@ static void clip_main_area_draw(const bContext *C, ARegion *ar)
ImBuf *tmpibuf= NULL;
if(clip && clip->tracking.stabilization.flag&TRACKING_2D_STABILIZATION) {
- tmpibuf= ED_space_clip_acquire_stable_buffer(sc, sc->stabmat);
+ tmpibuf= ED_space_clip_acquire_stable_buffer(sc, NULL, NULL);
}
ED_clip_view_selection(sc, ar, 0);