Blender V2.61 - r43446
|
00001 /* 00002 * ***** BEGIN GPL LICENSE BLOCK ***** 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software Foundation, 00016 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 * 00018 * The Original Code is Copyright (C) 2011 Blender Foundation. 00019 * All rights reserved. 00020 * 00021 * Contributor(s): Blender Foundation, 00022 * Sergey Sharybin 00023 * 00024 * ***** END GPL LICENSE BLOCK ***** 00025 */ 00026 00027 #ifndef BKE_MOVIECLIP_H 00028 #define BKE_MOVIECLIP_H 00029 00035 struct ImBuf; 00036 struct Main; 00037 struct MovieClip; 00038 struct MovieClipScopes; 00039 struct MovieClipUser; 00040 struct MovieTrackingTrack; 00041 struct MovieDistortion; 00042 00043 void free_movieclip(struct MovieClip *clip); 00044 void unlink_movieclip(struct Main *bmain, struct MovieClip *clip); 00045 00046 struct MovieClip *BKE_add_movieclip_file(const char *name); 00047 void BKE_movieclip_reload(struct MovieClip *clip); 00048 00049 struct ImBuf *BKE_movieclip_get_ibuf(struct MovieClip *clip, struct MovieClipUser *user); 00050 struct ImBuf *BKE_movieclip_get_postprocessed_ibuf(struct MovieClip *clip, struct MovieClipUser *user, int postprocess_flag); 00051 struct ImBuf *BKE_movieclip_get_stable_ibuf(struct MovieClip *clip, struct MovieClipUser *user, float loc[2], float *scale, float *angle, int postprocess_flag); 00052 struct ImBuf *BKE_movieclip_get_ibuf_flag(struct MovieClip *clip, struct MovieClipUser *user, int flag); 00053 void BKE_movieclip_get_size(struct MovieClip *clip, struct MovieClipUser *user, int *width, int *height); 00054 void BKE_movieclip_aspect(struct MovieClip *clip, float *aspx, float *aspy); 00055 int BKE_movieclip_has_frame(struct MovieClip *clip, struct MovieClipUser *user); 00056 void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr); 00057 00058 void BKE_movieclip_select_track(struct MovieClip *clip, struct MovieTrackingTrack *track, int area, int extend); 00059 00060 void BKE_movieclip_update_scopes(struct MovieClip *clip, struct MovieClipUser *user, struct MovieClipScopes *scopes); 00061 00062 void BKE_movieclip_get_cache_segments(struct MovieClip *clip, struct MovieClipUser *user, int *totseg_r, int **points_r); 00063 00064 void BKE_movieclip_build_proxy_frame(struct MovieClip *clip, int clip_flag, struct MovieDistortion *distortion, 00065 int cfra, int *build_sizes, int build_count, int undistorted); 00066 00067 /* postprocessing flags */ 00068 #define MOVIECLIP_DISABLE_RED (1<<0) 00069 #define MOVIECLIP_DISABLE_GREEN (1<<1) 00070 #define MOVIECLIP_DISABLE_BLUE (1<<2) 00071 #define MOVIECLIP_PREVIEW_GRAYSCALE (1<<3) 00072 00073 #endif