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-10-07 23:21:29 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2011-10-07 23:21:29 +0400
commit92ddc03126dfa706d693575323bff1bbceb1bfcb (patch)
treed77df8f0b9b409f382e99ab29dd55e9dbe180306 /source/blender/blenkernel/BKE_tracking.h
parentf8b081153bec2268197551a23016768c0dc45cd0 (diff)
Camera tracking integration
=========================== Fixed threading issues used to happen when compositor tree and rendering happened in the same time. Problem was caused by cached camera intrinsics stored in MovieTracking structure and access to which wasn't thread-safe. Now each movie distoriton mode stores it's own camera intrinsics in it's storage which makes compositor (un)distoriton be totally thread-safe and this also makes compositor tree faster when (un)distortion happens on images with different resolution.
Diffstat (limited to 'source/blender/blenkernel/BKE_tracking.h')
-rw-r--r--source/blender/blenkernel/BKE_tracking.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h
index 3f2b44c2fef..23c72855c8a 100644
--- a/source/blender/blenkernel/BKE_tracking.h
+++ b/source/blender/blenkernel/BKE_tracking.h
@@ -40,6 +40,7 @@ struct MovieTrackingMarker;
struct MovieTracking;
struct MovieTrackingContext;
struct MovieClipUser;
+struct MovieDistortion;
struct Scene;
struct Object;
@@ -94,6 +95,13 @@ void BKE_tracking_stabilization_data(struct MovieTracking *tracking, int framenr
struct ImBuf *BKE_tracking_stabilize(struct MovieTracking *tracking, int framenr, struct ImBuf *ibuf, float loc[2], float *scale, float *angle);
void BKE_tracking_stabdata_to_mat4(int width, int height, float loc[2], float scale, float angle, float mat[4][4]);
+/* Distoriton/Undistortion */
+struct MovieDistortion *BKE_tracking_distortion_create(void);
+struct MovieDistortion *BKE_tracking_distortion_copy(struct MovieDistortion *distortion);
+struct ImBuf *BKE_tracking_distortion_exec(struct MovieDistortion *distortion, struct MovieTracking *tracking,
+ struct ImBuf *ibuf, int width, int height, int undistort);
+void BKE_tracking_distortion_destroy(struct MovieDistortion *distortion);
+
struct ImBuf *BKE_tracking_undistort(struct MovieTracking *tracking, struct ImBuf *ibuf, int width, int height);
struct ImBuf *BKE_tracking_distort(struct MovieTracking *tracking, struct ImBuf *ibuf, int width, int height);