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-11-22 18:45:11 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2011-11-22 18:45:11 +0400
commitf48e1b55723abe4d31e117a7fb988835b45d8a1a (patch)
tree1429bd3446a7917f015f33a913c8bfe11f62033f /source/blender/blenkernel/BKE_tracking.h
parenteef4b0eb19742085aed5bcde3bc61487eacc8017 (diff)
Camera tracking: moved camera solver into it's own job
In some cases solving can take a while (especially when refining is used) and keeping interface locked is a bit annoying. Now camera solver is moved to job system and interface isn't locking. Currently, no progress is displaying in the interface and solving can't be canceled. It'll be implemented separately (need some changes in libmv).
Diffstat (limited to 'source/blender/blenkernel/BKE_tracking.h')
-rw-r--r--source/blender/blenkernel/BKE_tracking.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h
index 1c25547b146..d844873ef89 100644
--- a/source/blender/blenkernel/BKE_tracking.h
+++ b/source/blender/blenkernel/BKE_tracking.h
@@ -34,6 +34,7 @@
struct bGPDlayer;
struct ImBuf;
+struct MovieReconstructContext;
struct MovieTrackingTrack;
struct MovieTrackingMarker;
struct MovieTracking;
@@ -90,9 +91,14 @@ void BKE_tracking_sync_user(struct MovieClipUser *user, struct MovieTrackingCont
int BKE_tracking_next(struct MovieTrackingContext *context);
/* Camera solving */
-int BKE_tracking_can_solve(struct MovieTracking *tracking, char *error_msg, int error_size);
-
-float BKE_tracking_solve_reconstruction(struct MovieTracking *tracking, int width, int height);
+int BKE_tracking_can_reconstruct(struct MovieTracking *tracking, char *error_msg, int error_size);
+
+struct MovieReconstructContext* BKE_tracking_reconstruction_context_new(struct MovieTracking *tracking,
+ int keyframe1, int keyframe2, int width, int height);
+void BKE_tracking_reconstruction_context_free(struct MovieReconstructContext *context);
+void BKE_tracking_solve_reconstruction(struct MovieReconstructContext *context,
+ short *stop, short *do_update, float *progress);
+int BKE_tracking_finish_reconstruction(struct MovieReconstructContext *context, struct MovieTracking *tracking);
struct MovieReconstructedCamera *BKE_tracking_get_reconstructed_camera(struct MovieTracking *tracking, int framenr);
void BKE_tracking_get_interpolated_camera(struct MovieTracking *tracking, int framenr, float mat[4][4]);