Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashes
[blender.git] / source / blender / blenkernel / BKE_movieclip.h
index 2d78e924c908c78919ac174ff21624368d5282c8..5777a4094bccb86f1beb6bcc893673f4d0f5435f 100644 (file)
@@ -15,7 +15,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
 * The Original Code is Copyright (C) 2011 Blender Foundation.
+ * The Original Code is Copyright (C) 2011 Blender Foundation.
  * All rights reserved.
  *
  * Contributor(s): Blender Foundation,
@@ -40,10 +40,10 @@ struct MovieClipUser;
 struct MovieTrackingTrack;
 struct MovieDistortion;
 
-void free_movieclip(struct MovieClip *clip);
-void unlink_movieclip(struct Main *bmain, struct MovieClip *clip);
+void BKE_movieclip_free(struct MovieClip *clip);
+void BKE_movieclip_unlink(struct Main *bmain, struct MovieClip *clip);
 
-struct MovieClip *BKE_add_movieclip_file(const char *name);
+struct MovieClip *BKE_movieclip_file_add(struct Main *bmain, const char *name);
 void BKE_movieclip_reload(struct MovieClip *clip);
 
 struct ImBuf *BKE_movieclip_get_ibuf(struct MovieClip *clip, struct MovieClipUser *user);
@@ -51,26 +51,29 @@ struct ImBuf *BKE_movieclip_get_postprocessed_ibuf(struct MovieClip *clip, struc
 struct ImBuf *BKE_movieclip_get_stable_ibuf(struct MovieClip *clip, struct MovieClipUser *user, float loc[2], float *scale, float *angle, int postprocess_flag);
 struct ImBuf *BKE_movieclip_get_ibuf_flag(struct MovieClip *clip, struct MovieClipUser *user, int flag, int cache_flag);
 void BKE_movieclip_get_size(struct MovieClip *clip, struct MovieClipUser *user, int *width, int *height);
-void BKE_movieclip_aspect(struct MovieClip *clip, float *aspx, float *aspy);
-int BKE_movieclip_has_frame(struct MovieClip *clip, struct MovieClipUser *user);
+void BKE_movieclip_get_size_fl(struct MovieClip *clip, struct MovieClipUser *user, float size[2]);
+int  BKE_movieclip_get_duration(struct MovieClip *clip);
+void BKE_movieclip_get_aspect(struct MovieClip *clip, float *aspx, float *aspy);
+int  BKE_movieclip_has_frame(struct MovieClip *clip, struct MovieClipUser *user);
 void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr);
 
-void BKE_movieclip_select_track(struct MovieClip *clip, struct MovieTrackingTrack *track, int area, int extend);
-
 void BKE_movieclip_update_scopes(struct MovieClip *clip, struct MovieClipUser *user, struct MovieClipScopes *scopes);
 
 void BKE_movieclip_get_cache_segments(struct MovieClip *clip, struct MovieClipUser *user, int *totseg_r, int **points_r);
 
 void BKE_movieclip_build_proxy_frame(struct MovieClip *clip, int clip_flag, struct MovieDistortion *distortion,
-                       int cfra, int *build_sizes, int build_count, int undistorted);
+                                     int cfra, int *build_sizes, int build_count, int undistorted);
+
+float BKE_movieclip_remap_scene_to_clip_frame(struct MovieClip *clip, float framenr);
+float BKE_movieclip_remap_clip_to_scene_frame(struct MovieClip *clip, float framenr);
 
 /* cacheing flags */
-#define MOVIECLIP_CACHE_SKIP        (1<<0)
+#define MOVIECLIP_CACHE_SKIP        (1 << 0)
 
 /* postprocessing flags */
-#define MOVIECLIP_DISABLE_RED       (1<<0)
-#define MOVIECLIP_DISABLE_GREEN     (1<<1)
-#define MOVIECLIP_DISABLE_BLUE      (1<<2)
-#define MOVIECLIP_PREVIEW_GRAYSCALE (1<<3)
+#define MOVIECLIP_DISABLE_RED       (1 << 0)
+#define MOVIECLIP_DISABLE_GREEN     (1 << 1)
+#define MOVIECLIP_DISABLE_BLUE      (1 << 2)
+#define MOVIECLIP_PREVIEW_GRAYSCALE (1 << 3)
 
 #endif