Blender  V2.93
Classes | Macros | Typedefs | Functions | Variables
movieclip.c File Reference
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include "MEM_guardedalloc.h"
#include "DNA_defaults.h"
#include "DNA_constraint_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "BLI_utildefines.h"
#include "BLI_blenlib.h"
#include "BLI_ghash.h"
#include "BLI_math.h"
#include "BLI_threads.h"
#include "BLT_translation.h"
#include "BKE_anim_data.h"
#include "BKE_colortools.h"
#include "BKE_global.h"
#include "BKE_idtype.h"
#include "BKE_image.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_main.h"
#include "BKE_movieclip.h"
#include "BKE_node.h"
#include "BKE_tracking.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_moviecache.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "GPU_texture.h"
#include "BLO_read_write.h"

Go to the source code of this file.

Classes

struct  MovieClipCache
 
struct  MovieClipImBufCacheKey
 
struct  MovieClipCachePriorityData
 

Macros

#define DNA_DEPRECATED_ALLOW
 

Typedefs

typedef struct MovieClipCache MovieClipCache
 
typedef struct MovieClipImBufCacheKey MovieClipImBufCacheKey
 
typedef struct MovieClipCachePriorityData MovieClipCachePriorityData
 

Functions

static void free_buffers (MovieClip *clip)
 
static void movie_clip_init_data (ID *id)
 
static void movie_clip_copy_data (Main *UNUSED(bmain), ID *id_dst, const ID *id_src, const int flag)
 
static void movie_clip_free_data (ID *id)
 
static void movie_clip_foreach_id (ID *id, LibraryForeachIDData *data)
 
static void movie_clip_foreach_cache (ID *id, IDTypeForeachCacheFunctionCallback function_callback, void *user_data)
 
static void write_movieTracks (BlendWriter *writer, ListBase *tracks)
 
static void write_moviePlaneTracks (BlendWriter *writer, ListBase *plane_tracks_base)
 
static void write_movieReconstruction (BlendWriter *writer, MovieTrackingReconstruction *reconstruction)
 
static void movieclip_blend_write (BlendWriter *writer, ID *id, const void *id_address)
 
static void direct_link_movieReconstruction (BlendDataReader *reader, MovieTrackingReconstruction *reconstruction)
 
static void direct_link_movieTracks (BlendDataReader *reader, ListBase *tracksbase)
 
static void direct_link_moviePlaneTracks (BlendDataReader *reader, ListBase *plane_tracks_base)
 
static void movieclip_blend_read_data (BlendDataReader *reader, ID *id)
 
static void lib_link_movieTracks (BlendLibReader *reader, MovieClip *clip, ListBase *tracksbase)
 
static void lib_link_moviePlaneTracks (BlendLibReader *reader, MovieClip *clip, ListBase *tracksbase)
 
static void movieclip_blend_read_lib (BlendLibReader *reader, ID *id)
 
static int sequence_guess_offset (const char *full_name, int head_len, unsigned short numlen)
 
static int rendersize_to_proxy (const MovieClipUser *user, int flag)
 
static int rendersize_to_number (int render_size)
 
static int get_timecode (MovieClip *clip, int flag)
 
static void get_sequence_fname (const MovieClip *clip, const int framenr, char *name)
 
static void get_proxy_fname (const MovieClip *clip, int proxy_render_size, bool undistorted, int framenr, char *name)
 
void BKE_movieclip_convert_multilayer_ibuf (struct ImBuf *ibuf)
 
static ImBufmovieclip_load_sequence_file (MovieClip *clip, const MovieClipUser *user, int framenr, int flag)
 
static void movieclip_open_anim_file (MovieClip *clip)
 
static ImBufmovieclip_load_movie_file (MovieClip *clip, const MovieClipUser *user, int framenr, int flag)
 
static void movieclip_calc_length (MovieClip *clip)
 
static int user_frame_to_cache_frame (MovieClip *clip, int framenr)
 
static void moviecache_keydata (void *userkey, int *framenr, int *proxy, int *render_flags)
 
static unsigned int moviecache_hashhash (const void *keyv)
 
static bool moviecache_hashcmp (const void *av, const void *bv)
 
static void * moviecache_getprioritydata (void *key_v)
 
static int moviecache_getitempriority (void *last_userkey_v, void *priority_data_v)
 
static void moviecache_prioritydeleter (void *priority_data_v)
 
static ImBufget_imbuf_cache (MovieClip *clip, const MovieClipUser *user, int flag)
 
static bool has_imbuf_cache (MovieClip *clip, MovieClipUser *user, int flag)
 
static bool put_imbuf_cache (MovieClip *clip, const MovieClipUser *user, ImBuf *ibuf, int flag, bool destructive)
 
static bool moviecache_check_free_proxy (ImBuf *UNUSED(ibuf), void *userkey, void *UNUSED(userdata))
 
static MovieClipmovieclip_alloc (Main *bmain, const char *name)
 
static void movieclip_load_get_size (MovieClip *clip)
 
static void detect_clip_source (Main *bmain, MovieClip *clip)
 
MovieClipBKE_movieclip_file_add (Main *bmain, const char *name)
 
MovieClipBKE_movieclip_file_add_exists_ex (Main *bmain, const char *filepath, bool *r_exists)
 
MovieClipBKE_movieclip_file_add_exists (Main *bmain, const char *filepath)
 
static void real_ibuf_size (const MovieClip *clip, const MovieClipUser *user, const ImBuf *ibuf, int *width, int *height)
 
static ImBufget_undistorted_ibuf (MovieClip *clip, struct MovieDistortion *distortion, ImBuf *ibuf)
 
static bool need_undistortion_postprocess (const MovieClipUser *user, int clip_flag)
 
static bool need_postprocessed_frame (const MovieClipUser *user, int clip_flag, int postprocess_flag)
 
static bool check_undistortion_cache_flags (const MovieClip *clip)
 
static ImBufget_postprocessed_cached_frame (const MovieClip *clip, const MovieClipUser *user, int flag, int postprocess_flag)
 
static ImBufpostprocess_frame (MovieClip *clip, const MovieClipUser *user, ImBuf *ibuf, int flag, int postprocess_flag)
 
static void put_postprocessed_frame_to_cache (MovieClip *clip, const MovieClipUser *user, ImBuf *ibuf, int flag, int postprocess_flag)
 
static ImBufmovieclip_get_postprocessed_ibuf (MovieClip *clip, const MovieClipUser *user, int flag, int postprocess_flag, int cache_flag)
 
ImBufBKE_movieclip_get_ibuf (MovieClip *clip, MovieClipUser *user)
 
ImBufBKE_movieclip_get_ibuf_flag (MovieClip *clip, MovieClipUser *user, int flag, int cache_flag)
 
ImBufBKE_movieclip_get_postprocessed_ibuf (MovieClip *clip, MovieClipUser *user, int postprocess_flag)
 
static ImBufget_stable_cached_frame (MovieClip *clip, MovieClipUser *user, ImBuf *reference_ibuf, int framenr, int postprocess_flag)
 
static ImBufput_stabilized_frame_to_cache (MovieClip *clip, MovieClipUser *user, ImBuf *ibuf, int framenr, int postprocess_flag)
 
ImBufBKE_movieclip_get_stable_ibuf (MovieClip *clip, MovieClipUser *user, float loc[2], float *scale, float *angle, int postprocess_flag)
 
bool BKE_movieclip_has_frame (MovieClip *clip, MovieClipUser *user)
 
void BKE_movieclip_get_size (MovieClip *clip, MovieClipUser *user, int *width, int *height)
 
void BKE_movieclip_get_size_fl (MovieClip *clip, MovieClipUser *user, float size[2])
 
int BKE_movieclip_get_duration (MovieClip *clip)
 
float BKE_movieclip_get_fps (MovieClip *clip)
 
void BKE_movieclip_get_aspect (MovieClip *clip, float *aspx, float *aspy)
 
void BKE_movieclip_get_cache_segments (MovieClip *clip, MovieClipUser *user, int *r_totseg, int **r_points)
 
void BKE_movieclip_user_set_frame (MovieClipUser *iuser, int framenr)
 
void BKE_movieclip_clear_cache (MovieClip *clip)
 
void BKE_movieclip_clear_proxy_cache (MovieClip *clip)
 
void BKE_movieclip_reload (Main *bmain, MovieClip *clip)
 
void BKE_movieclip_update_scopes (MovieClip *clip, MovieClipUser *user, MovieClipScopes *scopes)
 
static void movieclip_build_proxy_ibuf (MovieClip *clip, ImBuf *ibuf, int cfra, int proxy_render_size, bool undistorted, bool threaded)
 
void BKE_movieclip_build_proxy_frame (MovieClip *clip, int clip_flag, struct MovieDistortion *distortion, int cfra, int *build_sizes, int build_count, bool undistorted)
 
void BKE_movieclip_build_proxy_frame_for_ibuf (MovieClip *clip, ImBuf *ibuf, struct MovieDistortion *distortion, int cfra, int *build_sizes, int build_count, bool undistorted)
 
float BKE_movieclip_remap_scene_to_clip_frame (const MovieClip *clip, float framenr)
 
float BKE_movieclip_remap_clip_to_scene_frame (const MovieClip *clip, float framenr)
 
void BKE_movieclip_filename_for_frame (MovieClip *clip, MovieClipUser *user, char *name)
 
ImBufBKE_movieclip_anim_ibuf_for_frame_no_lock (MovieClip *clip, MovieClipUser *user)
 
bool BKE_movieclip_has_cached_frame (MovieClip *clip, MovieClipUser *user)
 
bool BKE_movieclip_put_frame_if_possible (MovieClip *clip, MovieClipUser *user, ImBuf *ibuf)
 
static void movieclip_selection_sync (MovieClip *clip_dst, const MovieClip *clip_src)
 
static void movieclip_eval_update_reload (struct Depsgraph *depsgraph, Main *bmain, MovieClip *clip)
 
static void movieclip_eval_update_generic (struct Depsgraph *depsgraph, MovieClip *clip)
 
void BKE_movieclip_eval_update (struct Depsgraph *depsgraph, Main *bmain, MovieClip *clip)
 
void BKE_movieclip_eval_selection_update (struct Depsgraph *depsgraph, MovieClip *clip)
 
GPU textures
static GPUTexture ** movieclip_get_gputexture_ptr (MovieClip *clip, MovieClipUser *cuser, eGPUTextureTarget textarget)
 
GPUTextureBKE_movieclip_get_gpu_texture (MovieClip *clip, MovieClipUser *cuser)
 
void BKE_movieclip_free_gputexture (struct MovieClip *clip)
 

Variables

IDTypeInfo IDType_ID_MC
 

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 39 of file movieclip.c.

Typedef Documentation

◆ MovieClipCache

◆ MovieClipCachePriorityData

◆ MovieClipImBufCacheKey

Function Documentation

◆ BKE_movieclip_anim_ibuf_for_frame_no_lock()

ImBuf* BKE_movieclip_anim_ibuf_for_frame_no_lock ( MovieClip clip,
MovieClipUser user 
)

◆ BKE_movieclip_build_proxy_frame()

void BKE_movieclip_build_proxy_frame ( MovieClip clip,
int  clip_flag,
struct MovieDistortion distortion,
int  cfra,
int *  build_sizes,
int  build_count,
bool  undistorted 
)

◆ BKE_movieclip_build_proxy_frame_for_ibuf()

void BKE_movieclip_build_proxy_frame_for_ibuf ( MovieClip clip,
ImBuf ibuf,
struct MovieDistortion distortion,
int  cfra,
int *  build_sizes,
int  build_count,
bool  undistorted 
)

Definition at line 1899 of file movieclip.c.

References get_undistorted_ibuf(), IMB_freeImBuf(), and movieclip_build_proxy_ibuf().

Referenced by proxy_task_func().

◆ BKE_movieclip_clear_cache()

void BKE_movieclip_clear_cache ( MovieClip clip)

Definition at line 1674 of file movieclip.c.

References free_buffers().

Referenced by ED_space_clip_set_clip().

◆ BKE_movieclip_clear_proxy_cache()

void BKE_movieclip_clear_proxy_cache ( MovieClip clip)

◆ BKE_movieclip_convert_multilayer_ibuf()

void BKE_movieclip_convert_multilayer_ibuf ( struct ImBuf ibuf)

◆ BKE_movieclip_eval_selection_update()

void BKE_movieclip_eval_selection_update ( struct Depsgraph depsgraph,
MovieClip clip 
)

◆ BKE_movieclip_eval_update()

void BKE_movieclip_eval_update ( struct Depsgraph depsgraph,
Main bmain,
MovieClip clip 
)

◆ BKE_movieclip_file_add()

MovieClip* BKE_movieclip_file_add ( Main bmain,
const char *  name 
)

◆ BKE_movieclip_file_add_exists()

MovieClip* BKE_movieclip_file_add_exists ( Main bmain,
const char *  filepath 
)

Definition at line 1051 of file movieclip.c.

References BKE_movieclip_file_add_exists_ex(), and NULL.

Referenced by open_exec().

◆ BKE_movieclip_file_add_exists_ex()

MovieClip* BKE_movieclip_file_add_exists_ex ( Main bmain,
const char *  filepath,
bool *  r_exists 
)

◆ BKE_movieclip_filename_for_frame()

void BKE_movieclip_filename_for_frame ( MovieClip clip,
MovieClipUser user,
char *  name 
)

◆ BKE_movieclip_free_gputexture()

void BKE_movieclip_free_gputexture ( struct MovieClip clip)

◆ BKE_movieclip_get_aspect()

void BKE_movieclip_get_aspect ( MovieClip clip,
float aspx,
float aspy 
)

◆ BKE_movieclip_get_cache_segments()

void BKE_movieclip_get_cache_segments ( MovieClip clip,
MovieClipUser user,
int *  r_totseg,
int **  r_points 
)

◆ BKE_movieclip_get_duration()

int BKE_movieclip_get_duration ( MovieClip clip)

◆ BKE_movieclip_get_fps()

float BKE_movieclip_get_fps ( MovieClip clip)

◆ BKE_movieclip_get_gpu_texture()

GPUTexture* BKE_movieclip_get_gpu_texture ( MovieClip clip,
MovieClipUser cuser 
)

◆ BKE_movieclip_get_ibuf()

ImBuf* BKE_movieclip_get_ibuf ( MovieClip clip,
MovieClipUser user 
)

◆ BKE_movieclip_get_ibuf_flag()

ImBuf* BKE_movieclip_get_ibuf_flag ( MovieClip clip,
MovieClipUser user,
int  flag,
int  cache_flag 
)

◆ BKE_movieclip_get_postprocessed_ibuf()

ImBuf* BKE_movieclip_get_postprocessed_ibuf ( MovieClip clip,
MovieClipUser user,
int  postprocess_flag 
)

◆ BKE_movieclip_get_size()

void BKE_movieclip_get_size ( MovieClip clip,
MovieClipUser user,
int *  width,
int *  height 
)

◆ BKE_movieclip_get_size_fl()

void BKE_movieclip_get_size_fl ( MovieClip clip,
MovieClipUser user,
float  size[2] 
)

◆ BKE_movieclip_get_stable_ibuf()

ImBuf* BKE_movieclip_get_stable_ibuf ( MovieClip clip,
MovieClipUser user,
float  loc[2],
float scale,
float angle,
int  postprocess_flag 
)

◆ BKE_movieclip_has_cached_frame()

bool BKE_movieclip_has_cached_frame ( MovieClip clip,
MovieClipUser user 
)

◆ BKE_movieclip_has_frame()

bool BKE_movieclip_has_frame ( MovieClip clip,
MovieClipUser user 
)

Definition at line 1528 of file movieclip.c.

References BKE_movieclip_get_ibuf(), and IMB_freeImBuf().

◆ BKE_movieclip_put_frame_if_possible()

bool BKE_movieclip_put_frame_if_possible ( MovieClip clip,
MovieClipUser user,
ImBuf ibuf 
)

◆ BKE_movieclip_reload()

void BKE_movieclip_reload ( Main bmain,
MovieClip clip 
)

◆ BKE_movieclip_remap_clip_to_scene_frame()

float BKE_movieclip_remap_clip_to_scene_frame ( const MovieClip clip,
float  framenr 
)

Definition at line 1934 of file movieclip.c.

References float(), and MovieClip::start_frame.

◆ BKE_movieclip_remap_scene_to_clip_frame()

float BKE_movieclip_remap_scene_to_clip_frame ( const MovieClip clip,
float  framenr 
)

◆ BKE_movieclip_update_scopes()

void BKE_movieclip_update_scopes ( MovieClip clip,
MovieClipUser user,
MovieClipScopes scopes 
)

◆ BKE_movieclip_user_set_frame()

void BKE_movieclip_user_set_frame ( MovieClipUser iuser,
int  framenr 
)

◆ check_undistortion_cache_flags()

static bool check_undistortion_cache_flags ( const MovieClip clip)
static

◆ detect_clip_source()

static void detect_clip_source ( Main bmain,
MovieClip clip 
)
static

◆ direct_link_moviePlaneTracks()

static void direct_link_moviePlaneTracks ( BlendDataReader reader,
ListBase plane_tracks_base 
)
static

◆ direct_link_movieReconstruction()

static void direct_link_movieReconstruction ( BlendDataReader reader,
MovieTrackingReconstruction reconstruction 
)
static

Definition at line 242 of file movieclip.c.

References BLO_read_data_address, and reconstruction.

Referenced by movieclip_blend_read_data().

◆ direct_link_movieTracks()

static void direct_link_movieTracks ( BlendDataReader reader,
ListBase tracksbase 
)
static

Definition at line 248 of file movieclip.c.

References BLO_read_data_address, BLO_read_list(), and LISTBASE_FOREACH.

Referenced by movieclip_blend_read_data().

◆ free_buffers()

static void free_buffers ( MovieClip clip)
static

◆ get_imbuf_cache()

static ImBuf* get_imbuf_cache ( MovieClip clip,
const MovieClipUser user,
int  flag 
)
static

◆ get_postprocessed_cached_frame()

static ImBuf* get_postprocessed_cached_frame ( const MovieClip clip,
const MovieClipUser user,
int  flag,
int  postprocess_flag 
)
static

◆ get_proxy_fname()

static void get_proxy_fname ( const MovieClip clip,
int  proxy_render_size,
bool  undistorted,
int  framenr,
char *  name 
)
static

◆ get_sequence_fname()

static void get_sequence_fname ( const MovieClip clip,
const int  framenr,
char *  name 
)
static

◆ get_stable_cached_frame()

static ImBuf* get_stable_cached_frame ( MovieClip clip,
MovieClipUser user,
ImBuf reference_ibuf,
int  framenr,
int  postprocess_flag 
)
static

◆ get_timecode()

static int get_timecode ( MovieClip clip,
int  flag 
)
static

Definition at line 429 of file movieclip.c.

References IMB_TC_NONE, MCLIP_USE_PROXY, MovieClip::proxy, and MovieClipProxy::tc.

Referenced by movieclip_load_movie_file().

◆ get_undistorted_ibuf()

static ImBuf* get_undistorted_ibuf ( MovieClip clip,
struct MovieDistortion distortion,
ImBuf ibuf 
)
static

◆ has_imbuf_cache()

static bool has_imbuf_cache ( MovieClip clip,
MovieClipUser user,
int  flag 
)
static

◆ lib_link_moviePlaneTracks()

static void lib_link_moviePlaneTracks ( BlendLibReader reader,
MovieClip clip,
ListBase tracksbase 
)
static

Definition at line 317 of file movieclip.c.

References BLO_read_id_address, MovieClip::id, ID::lib, and LISTBASE_FOREACH.

Referenced by movieclip_blend_read_lib().

◆ lib_link_movieTracks()

static void lib_link_movieTracks ( BlendLibReader reader,
MovieClip clip,
ListBase tracksbase 
)
static

Definition at line 310 of file movieclip.c.

References BLO_read_id_address, MovieClip::id, ID::lib, and LISTBASE_FOREACH.

Referenced by movieclip_blend_read_lib().

◆ movie_clip_copy_data()

static void movie_clip_copy_data ( Main UNUSEDbmain,
ID id_dst,
const ID id_src,
const int  flag 
)
static

◆ movie_clip_foreach_cache()

static void movie_clip_foreach_cache ( ID id,
IDTypeForeachCacheFunctionCallback  function_callback,
void *  user_data 
)
static

◆ movie_clip_foreach_id()

static void movie_clip_foreach_id ( ID id,
LibraryForeachIDData data 
)
static

◆ movie_clip_free_data()

static void movie_clip_free_data ( ID id)
static

Definition at line 120 of file movieclip.c.

References BKE_tracking_free(), free_buffers(), and MovieClip::tracking.

◆ movie_clip_init_data()

static void movie_clip_init_data ( ID id)
static

◆ moviecache_check_free_proxy()

static bool moviecache_check_free_proxy ( ImBuf UNUSEDibuf,
void *  userkey,
void *  UNUSEDuserdata 
)
static

◆ moviecache_getitempriority()

static int moviecache_getitempriority ( void *  last_userkey_v,
void *  priority_data_v 
)
static

Definition at line 810 of file movieclip.c.

References abs(), MovieClipImBufCacheKey::framenr, and MovieClipCachePriorityData::framenr.

Referenced by put_imbuf_cache().

◆ moviecache_getprioritydata()

static void* moviecache_getprioritydata ( void *  key_v)
static

◆ moviecache_hashcmp()

static bool moviecache_hashcmp ( const void *  av,
const void *  bv 
)
static

◆ moviecache_hashhash()

static unsigned int moviecache_hashhash ( const void *  keyv)
static

Definition at line 782 of file movieclip.c.

References MovieClipImBufCacheKey::framenr.

Referenced by put_imbuf_cache().

◆ moviecache_keydata()

static void moviecache_keydata ( void *  userkey,
int *  framenr,
int *  proxy,
int *  render_flags 
)
static

◆ moviecache_prioritydeleter()

static void moviecache_prioritydeleter ( void *  priority_data_v)
static

Definition at line 818 of file movieclip.c.

References MEM_freeN.

Referenced by put_imbuf_cache().

◆ movieclip_alloc()

static MovieClip* movieclip_alloc ( Main bmain,
const char *  name 
)
static

Definition at line 939 of file movieclip.c.

References BKE_id_new(), ID_MC, and MovieCache::name.

Referenced by BKE_movieclip_file_add().

◆ movieclip_blend_read_data()

static void movieclip_blend_read_data ( BlendDataReader reader,
ID id 
)
static

◆ movieclip_blend_read_lib()

static void movieclip_blend_read_lib ( BlendLibReader reader,
ID id 
)
static

◆ movieclip_blend_write()

static void movieclip_blend_write ( BlendWriter writer,
ID id,
const void *  id_address 
)
static

◆ movieclip_build_proxy_ibuf()

static void movieclip_build_proxy_ibuf ( MovieClip clip,
ImBuf ibuf,
int  cfra,
int  proxy_render_size,
bool  undistorted,
bool  threaded 
)
static

◆ movieclip_calc_length()

static void movieclip_calc_length ( MovieClip clip)
static

◆ movieclip_eval_update_generic()

static void movieclip_eval_update_generic ( struct Depsgraph depsgraph,
MovieClip clip 
)
static

◆ movieclip_eval_update_reload()

static void movieclip_eval_update_reload ( struct Depsgraph depsgraph,
Main bmain,
MovieClip clip 
)
static

◆ movieclip_get_gputexture_ptr()

static GPUTexture** movieclip_get_gputexture_ptr ( MovieClip clip,
MovieClipUser cuser,
eGPUTextureTarget  textarget 
)
static

◆ movieclip_get_postprocessed_ibuf()

static ImBuf* movieclip_get_postprocessed_ibuf ( MovieClip clip,
const MovieClipUser user,
int  flag,
int  postprocess_flag,
int  cache_flag 
)
static

◆ movieclip_load_get_size()

static void movieclip_load_get_size ( MovieClip clip)
static

◆ movieclip_load_movie_file()

static ImBuf* movieclip_load_movie_file ( MovieClip clip,
const MovieClipUser user,
int  framenr,
int  flag 
)
static

◆ movieclip_load_sequence_file()

static ImBuf* movieclip_load_sequence_file ( MovieClip clip,
const MovieClipUser user,
int  framenr,
int  flag 
)
static

◆ movieclip_open_anim_file()

static void movieclip_open_anim_file ( MovieClip clip)
static

◆ movieclip_selection_sync()

static void movieclip_selection_sync ( MovieClip clip_dst,
const MovieClip clip_src 
)
static

◆ need_postprocessed_frame()

static bool need_postprocessed_frame ( const MovieClipUser user,
int  clip_flag,
int  postprocess_flag 
)
static

Definition at line 1111 of file movieclip.c.

References need_undistortion_postprocess(), and result.

Referenced by movieclip_get_postprocessed_ibuf().

◆ need_undistortion_postprocess()

static bool need_undistortion_postprocess ( const MovieClipUser user,
int  clip_flag 
)
static

◆ postprocess_frame()

static ImBuf* postprocess_frame ( MovieClip clip,
const MovieClipUser user,
ImBuf ibuf,
int  flag,
int  postprocess_flag 
)
static

◆ put_imbuf_cache()

static bool put_imbuf_cache ( MovieClip clip,
const MovieClipUser user,
ImBuf ibuf,
int  flag,
bool  destructive 
)
static

◆ put_postprocessed_frame_to_cache()

static void put_postprocessed_frame_to_cache ( MovieClip clip,
const MovieClipUser user,
ImBuf ibuf,
int  flag,
int  postprocess_flag 
)
static

◆ put_stabilized_frame_to_cache()

static ImBuf* put_stabilized_frame_to_cache ( MovieClip clip,
MovieClipUser user,
ImBuf ibuf,
int  framenr,
int  postprocess_flag 
)
static

◆ real_ibuf_size()

static void real_ibuf_size ( const MovieClip clip,
const MovieClipUser user,
const ImBuf ibuf,
int *  width,
int *  height 
)
static

◆ rendersize_to_number()

static int rendersize_to_number ( int  render_size)
static

◆ rendersize_to_proxy()

static int rendersize_to_proxy ( const MovieClipUser user,
int  flag 
)
static

◆ sequence_guess_offset()

static int sequence_guess_offset ( const char *  full_name,
int  head_len,
unsigned short  numlen 
)
static

Definition at line 372 of file movieclip.c.

References BLI_strncpy(), and FILE_MAX.

Referenced by get_sequence_fname(), and user_frame_to_cache_frame().

◆ user_frame_to_cache_frame()

static int user_frame_to_cache_frame ( MovieClip clip,
int  framenr 
)
static

◆ write_moviePlaneTracks()

static void write_moviePlaneTracks ( BlendWriter writer,
ListBase plane_tracks_base 
)
static

◆ write_movieReconstruction()

static void write_movieReconstruction ( BlendWriter writer,
MovieTrackingReconstruction reconstruction 
)
static

Definition at line 197 of file movieclip.c.

References BLO_write_struct_array, and reconstruction.

Referenced by movieclip_blend_write().

◆ write_movieTracks()

static void write_movieTracks ( BlendWriter writer,
ListBase tracks 
)
static

Variable Documentation

◆ IDType_ID_MC

IDTypeInfo IDType_ID_MC
Initial value:
= {
.id_code = ID_MC,
.id_filter = FILTER_ID_MC,
.main_listbase_index = INDEX_ID_MC,
.struct_size = sizeof(MovieClip),
.name = "MovieClip",
.name_plural = "movieclips",
.translation_context = BLT_I18NCONTEXT_ID_MOVIECLIP,
.flags = 0,
.copy_data = movie_clip_copy_data,
.free_data = movie_clip_free_data,
.make_local = NULL,
.foreach_id = movie_clip_foreach_id,
.foreach_cache = movie_clip_foreach_cache,
.owner_get = NULL,
.blend_write = movieclip_blend_write,
.blend_read_data = movieclip_blend_read_data,
.blend_read_lib = movieclip_blend_read_lib,
.blend_read_expand = NULL,
.blend_read_undo_preserve = NULL,
.lib_override_apply_post = NULL,
}
#define BLT_I18NCONTEXT_ID_MOVIECLIP
#define FILTER_ID_MC
Definition: DNA_ID.h:718
@ INDEX_ID_MC
Definition: DNA_ID.h:809
@ ID_MC
Definition: DNA_ID_enums.h:85
struct MovieClip MovieClip
static void init_data(ModifierData *md)
static void movieclip_blend_read_lib(BlendLibReader *reader, ID *id)
Definition: movieclip.c:326
static void movie_clip_foreach_cache(ID *id, IDTypeForeachCacheFunctionCallback function_callback, void *user_data)
Definition: movieclip.c:151
static void movie_clip_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, const int flag)
Definition: movieclip.c:102
static void movieclip_blend_read_data(BlendDataReader *reader, ID *id)
Definition: movieclip.c:271
static void movieclip_blend_write(BlendWriter *writer, ID *id, const void *id_address)
Definition: movieclip.c:206
static void movie_clip_init_data(ID *id)
Definition: movieclip.c:91
static void movie_clip_foreach_id(ID *id, LibraryForeachIDData *data)
Definition: movieclip.c:130
static void movie_clip_free_data(ID *id)
Definition: movieclip.c:120

Definition at line 342 of file movieclip.c.