Blender V5.0
movieclip.cc File Reference
#include <cstdio>
#include <cstring>
#include <fcntl.h>
#include <optional>
#include <unistd.h>
#include <ctime>
#include "MEM_guardedalloc.h"
#include "DNA_defaults.h"
#include "DNA_gpencil_legacy_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
#include "BLI_fileops.h"
#include "BLI_listbase.h"
#include "BLI_math_vector.h"
#include "BLI_path_utils.hh"
#include "BLI_string.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "BKE_bpath.hh"
#include "BKE_colortools.hh"
#include "BKE_idtype.hh"
#include "BKE_image.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_query.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_movieclip.h"
#include "BKE_node_tree_update.hh"
#include "BKE_tracking.h"
#include "IMB_colormanagement.hh"
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.hh"
#include "IMB_moviecache.hh"
#include "IMB_openexr.hh"
#include "MOV_read.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_query.hh"
#include "DRW_engine.hh"
#include "GPU_texture.hh"
#include "BLO_read_write.hh"
#include "CLG_log.h"

Go to the source code of this file.

Classes

struct  MovieClipCache
struct  MovieClipImBufCacheKey
struct  MovieClipCachePriorityData

Macros

#define DNA_DEPRECATED_ALLOW

Functions

static void free_buffers (MovieClip *clip)
static void movie_clip_runtime_reset (MovieClip *clip)
static void movie_clip_init_data (ID *id)
static void movie_clip_copy_data (Main *, std::optional< Library * >, 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 movie_clip_foreach_path (ID *id, BPathForeachPathData *bpath_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 int sequence_guess_offset (const char *full_name, int head_len, ushort 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_filepath (const MovieClip *clip, const int framenr, char filepath[FILE_MAX])
static void get_proxy_filepath (const MovieClip *clip, int proxy_render_size, bool undistorted, int framenr, char filepath[FILE_MAX])
void BKE_movieclip_convert_multilayer_ibuf (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 uint 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, const 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 *, void *userkey, void *)
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 *filepath)
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, 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, const MovieClipUser *user)
ImBufBKE_movieclip_get_ibuf_flag (MovieClip *clip, const MovieClipUser *user, const int flag, const int cache_flag)
ImBufBKE_movieclip_get_postprocessed_ibuf (MovieClip *clip, const MovieClipUser *user, const int postprocess_flag)
static ImBufget_stable_cached_frame (MovieClip *clip, const MovieClipUser *user, ImBuf *reference_ibuf, const int framenr, const int postprocess_flag)
static ImBufput_stabilized_frame_to_cache (MovieClip *clip, const MovieClipUser *user, ImBuf *ibuf, const int framenr, const int postprocess_flag)
ImBufBKE_movieclip_get_stable_ibuf (MovieClip *clip, const MovieClipUser *user, const int postprocess_flag, float r_loc[2], float *r_scale, float *r_angle)
bool BKE_movieclip_has_frame (MovieClip *clip, const MovieClipUser *user)
void BKE_movieclip_get_size (MovieClip *clip, const MovieClipUser *user, int *r_width, int *r_height)
void BKE_movieclip_get_size_fl (MovieClip *clip, const MovieClipUser *user, float r_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, const MovieClipUser *user, int *r_totseg, int **r_points)
void BKE_movieclip_user_set_frame (MovieClipUser *user, 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, const MovieClipUser *user, MovieClipScopes *scopes)
static void movieclip_build_proxy_ibuf (const MovieClip *clip, const ImBuf *ibuf, int cfra, int proxy_render_size, bool undistorted, bool threaded)
void BKE_movieclip_build_proxy_frame (MovieClip *clip, int clip_flag, MovieDistortion *distortion, int cfra, const int *build_sizes, int build_count, bool undistorted)
void BKE_movieclip_build_proxy_frame_for_ibuf (MovieClip *clip, ImBuf *ibuf, MovieDistortion *distortion, int cfra, const int *build_sizes, int build_count, bool undistorted)
bool BKE_movieclip_proxy_enabled (MovieClip *clip)
float BKE_movieclip_remap_scene_to_clip_frame (const MovieClip *clip, const float framenr)
float BKE_movieclip_remap_clip_to_scene_frame (const MovieClip *clip, const float framenr)
void BKE_movieclip_filepath_for_frame (MovieClip *clip, const MovieClipUser *user, char *filepath)
ImBufBKE_movieclip_anim_ibuf_for_frame_no_lock (MovieClip *clip, const MovieClipUser *user)
bool BKE_movieclip_has_cached_frame (MovieClip *clip, const MovieClipUser *user)
bool BKE_movieclip_put_frame_if_possible (MovieClip *clip, const MovieClipUser *user, ImBuf *ibuf)
static void movieclip_eval_update_reload (Depsgraph *depsgraph, Main *bmain, MovieClip *clip)
static void movieclip_eval_update_generic (Depsgraph *depsgraph, MovieClip *clip)
void BKE_movieclip_eval_update (Depsgraph *depsgraph, Main *bmain, MovieClip *clip)
GPU textures
static blender::gpu::Texture ** movieclip_get_gputexture_ptr (MovieClip *clip, MovieClipUser *cuser, eGPUTextureTarget textarget)
blender::gpu::TextureBKE_movieclip_get_gpu_texture (MovieClip *clip, MovieClipUser *cuser)
void BKE_movieclip_free_gputexture (MovieClip *clip)

Variables

static CLG_LogRef LOG = {"gpu.texture"}
IDTypeInfo IDType_ID_MC

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 25 of file movieclip.cc.

Function Documentation

◆ BKE_movieclip_anim_ibuf_for_frame_no_lock()

ImBuf * BKE_movieclip_anim_ibuf_for_frame_no_lock ( MovieClip * clip,
const MovieClipUser * user )

◆ BKE_movieclip_build_proxy_frame()

void BKE_movieclip_build_proxy_frame ( struct MovieClip * clip,
int clip_flag,
struct MovieDistortion * distortion,
int cfra,
const int * build_sizes,
int build_count,
bool undistorted )
Note
currently used by proxy job for movies, threading happens within single frame (meaning scaling shall be threaded).

Definition at line 1811 of file movieclip.cc.

References BKE_movieclip_get_ibuf_flag(), MovieClipUser::framenr, get_undistorted_ibuf(), i, IMB_freeImBuf(), MCLIP_PROXY_RENDER_SIZE_FULL, movieclip_build_proxy_ibuf(), MOVIECLIP_CACHE_SKIP, MovieClipUser::render_flag, and MovieClipUser::render_size.

Referenced by do_movie_proxy().

◆ BKE_movieclip_build_proxy_frame_for_ibuf()

void BKE_movieclip_build_proxy_frame_for_ibuf ( struct MovieClip * clip,
struct ImBuf * ibuf,
struct MovieDistortion * distortion,
int cfra,
const int * build_sizes,
int build_count,
bool undistorted )
Note
currently used by proxy job for sequences, threading happens within sequence (different threads handles different frames, no threading within frame is needed)

Definition at line 1852 of file movieclip.cc.

References get_undistorted_ibuf(), i, 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 1643 of file movieclip.cc.

References free_buffers().

Referenced by ED_space_clip_set_clip(), and wm_set_working_color_space_exec().

◆ 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)

Will try to make image buffer usable when originating from the multi-layer source. Internally finds a first combined pass and uses that as a buffer. Not ideal, but is better than a complete empty buffer.

Definition at line 521 of file movieclip.cc.

References BLI_assert, ImBuf::channels, ImBufFloatBuffer::data, ImBuf::exrhandle, ImBuf::float_buffer, ImBuf::ftype, IB_TAKE_OWNERSHIP, IMB_assign_float_buffer(), IMB_exr_close(), IMB_exr_multilayer_convert(), and IMB_FTYPE_OPENEXR.

Referenced by blender::seq::convert_multilayer_ibuf(), movieclip_load_sequence_file(), and prefetch_task_func().

◆ BKE_movieclip_eval_update()

◆ BKE_movieclip_file_add()

MovieClip * BKE_movieclip_file_add ( struct Main * bmain,
const char * filepath )

Checks if image was already loaded, then returns same image otherwise creates new. does not load ibuf itself pass on optional frame for filepath images.

Definition at line 955 of file movieclip.cc.

References BKE_main_blendfile_path(), BLI_open(), BLI_path_abs(), BLI_path_basename(), MovieTracking::camera, detect_clip_source(), FILE_MAX, MovieClip::filepath, MovieTrackingCamera::focal, MovieClip::lastsize, movieclip_alloc(), movieclip_calc_length(), movieclip_load_get_size(), O_BINARY, MovieTrackingCamera::sensor_width, STRNCPY(), and MovieClip::tracking.

Referenced by BKE_movieclip_file_add_exists_ex().

◆ BKE_movieclip_file_add_exists()

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

Definition at line 1021 of file movieclip.cc.

References BKE_movieclip_file_add_exists_ex().

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_filepath_for_frame()

◆ BKE_movieclip_free_gputexture()

◆ BKE_movieclip_get_aspect()

◆ BKE_movieclip_get_cache_segments()

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

◆ BKE_movieclip_get_duration()

◆ BKE_movieclip_get_fps()

float BKE_movieclip_get_fps ( MovieClip * clip)

◆ BKE_movieclip_get_gpu_texture()

◆ BKE_movieclip_get_ibuf()

◆ BKE_movieclip_get_ibuf_flag()

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

◆ BKE_movieclip_get_postprocessed_ibuf()

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

Definition at line 1330 of file movieclip.cc.

References MovieClip::flag, and movieclip_get_postprocessed_ibuf().

Referenced by BKE_movieclip_get_stable_ibuf().

◆ BKE_movieclip_get_size()

void BKE_movieclip_get_size ( MovieClip * clip,
const MovieClipUser * user,
int * r_width,
int * r_height )

◆ BKE_movieclip_get_size_fl()

void BKE_movieclip_get_size_fl ( MovieClip * clip,
const MovieClipUser * user,
float r_size[2] )

Definition at line 1544 of file movieclip.cc.

References BKE_movieclip_get_size(), and float.

◆ BKE_movieclip_get_stable_ibuf()

◆ BKE_movieclip_has_cached_frame()

bool BKE_movieclip_has_cached_frame ( MovieClip * clip,
const MovieClipUser * user )

◆ BKE_movieclip_has_frame()

bool BKE_movieclip_has_frame ( MovieClip * clip,
const MovieClipUser * user )

Definition at line 1506 of file movieclip.cc.

References BKE_movieclip_get_ibuf(), and IMB_freeImBuf().

◆ BKE_movieclip_proxy_enabled()

bool BKE_movieclip_proxy_enabled ( MovieClip * clip)

Definition at line 1882 of file movieclip.cc.

References MovieClip::flag, and MCLIP_USE_PROXY.

Referenced by blender::seq::seq_render_movieclip_strip().

◆ BKE_movieclip_put_frame_if_possible()

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

◆ BKE_movieclip_reload()

◆ BKE_movieclip_remap_clip_to_scene_frame()

float BKE_movieclip_remap_clip_to_scene_frame ( const MovieClip * clip,
const float framenr )

Definition at line 1892 of file movieclip.cc.

References float, and MovieClip::start_frame.

Referenced by movieclip_load_get_size().

◆ BKE_movieclip_remap_scene_to_clip_frame()

float BKE_movieclip_remap_scene_to_clip_frame ( const MovieClip * clip,
const float framenr )

◆ BKE_movieclip_update_scopes()

◆ BKE_movieclip_user_set_frame()

◆ check_undistortion_cache_flags()

◆ detect_clip_source()

◆ direct_link_moviePlaneTracks()

void direct_link_moviePlaneTracks ( BlendDataReader * reader,
ListBase * plane_tracks_base )
static

◆ direct_link_movieReconstruction()

void direct_link_movieReconstruction ( BlendDataReader * reader,
MovieTrackingReconstruction * reconstruction )
static

◆ direct_link_movieTracks()

void direct_link_movieTracks ( BlendDataReader * reader,
ListBase * tracksbase )
static

Definition at line 236 of file movieclip.cc.

References BLO_read_struct_array, BLO_read_struct_list, and LISTBASE_FOREACH.

Referenced by movieclip_blend_read_data().

◆ free_buffers()

◆ get_imbuf_cache()

◆ get_postprocessed_cached_frame()

◆ get_proxy_filepath()

◆ get_sequence_filepath()

◆ get_stable_cached_frame()

◆ get_timecode()

int get_timecode ( MovieClip * clip,
int flag )
static

Definition at line 388 of file movieclip.cc.

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

Referenced by movieclip_load_movie_file().

◆ get_undistorted_ibuf()

◆ has_imbuf_cache()

◆ movie_clip_copy_data()

void movie_clip_copy_data ( Main * ,
std::optional< Library * > ,
ID * id_dst,
const ID * id_src,
const int flag )
static

◆ movie_clip_foreach_cache()

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

◆ movie_clip_foreach_id()

void movie_clip_foreach_id ( ID * id,
LibraryForeachIDData * data )
static

◆ movie_clip_foreach_path()

void movie_clip_foreach_path ( ID * id,
BPathForeachPathData * bpath_data )
static

Definition at line 164 of file movieclip.cc.

References BKE_bpath_foreach_path_fixed_process(), and MovieClip::filepath.

◆ movie_clip_free_data()

void movie_clip_free_data ( ID * id)
static

Definition at line 123 of file movieclip.cc.

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

◆ movie_clip_init_data()

◆ movie_clip_runtime_reset()

void movie_clip_runtime_reset ( MovieClip * clip)
static

Reset runtime mask fields when data-block is being initialized.

Definition at line 81 of file movieclip.cc.

References BLI_listbase_clear(), MovieClip_Runtime::gputextures, MovieClip_Runtime::last_update, and MovieClip::runtime.

Referenced by movieclip_blend_read_data().

◆ moviecache_check_free_proxy()

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

◆ moviecache_getitempriority()

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

Definition at line 786 of file movieclip.cc.

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

Referenced by put_imbuf_cache().

◆ moviecache_getprioritydata()

void * moviecache_getprioritydata ( void * key_v)
static

◆ moviecache_hashcmp()

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

◆ moviecache_hashhash()

uint moviecache_hashhash ( const void * keyv)
static

Definition at line 758 of file movieclip.cc.

References MovieClipImBufCacheKey::framenr.

Referenced by IMB_moviecache_create(), and put_imbuf_cache().

◆ moviecache_keydata()

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

◆ moviecache_prioritydeleter()

void moviecache_prioritydeleter ( void * priority_data_v)
static

Definition at line 794 of file movieclip.cc.

References MEM_freeN().

Referenced by put_imbuf_cache().

◆ movieclip_alloc()

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

Definition at line 915 of file movieclip.cc.

References BKE_id_new(), and name.

Referenced by BKE_movieclip_file_add().

◆ movieclip_blend_read_data()

◆ movieclip_blend_write()

◆ movieclip_build_proxy_ibuf()

◆ movieclip_calc_length()

◆ movieclip_eval_update_generic()

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

◆ movieclip_eval_update_reload()

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

◆ movieclip_get_gputexture_ptr()

◆ movieclip_get_postprocessed_ibuf()

◆ movieclip_load_get_size()

◆ movieclip_load_movie_file()

◆ movieclip_load_sequence_file()

◆ movieclip_open_anim_file()

◆ need_postprocessed_frame()

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

Definition at line 1079 of file movieclip.cc.

References need_undistortion_postprocess(), and result.

Referenced by movieclip_get_postprocessed_ibuf().

◆ need_undistortion_postprocess()

◆ postprocess_frame()

◆ put_imbuf_cache()

◆ put_postprocessed_frame_to_cache()

◆ put_stabilized_frame_to_cache()

◆ real_ibuf_size()

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

◆ rendersize_to_number()

◆ rendersize_to_proxy()

◆ sequence_guess_offset()

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

Definition at line 331 of file movieclip.cc.

References BLI_strncpy(), FILE_MAX, and num.

Referenced by get_sequence_filepath(), and user_frame_to_cache_frame().

◆ user_frame_to_cache_frame()

◆ write_moviePlaneTracks()

void write_moviePlaneTracks ( BlendWriter * writer,
ListBase * plane_tracks_base )
static

◆ write_movieReconstruction()

void write_movieReconstruction ( BlendWriter * writer,
MovieTrackingReconstruction * reconstruction )
static

◆ write_movieTracks()

void write_movieTracks ( BlendWriter * writer,
ListBase * tracks )
static

Variable Documentation

◆ IDType_ID_MC

IDTypeInfo IDType_ID_MC
Initial value:
= {
MovieClip::id_type,
sizeof(MovieClip),
"MovieClip",
N_("movieclips"),
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
Definition BKE_idtype.hh:47
#define BLT_I18NCONTEXT_ID_MOVIECLIP
#define FILTER_ID_GD_LEGACY
Definition DNA_ID.h:1202
#define FILTER_ID_MC
Definition DNA_ID.h:1210
@ INDEX_ID_MC
Definition DNA_ID.h:1308
#define FILTER_ID_IM
Definition DNA_ID.h:1204
static void movie_clip_foreach_path(ID *id, BPathForeachPathData *bpath_data)
Definition movieclip.cc:164
static void movie_clip_foreach_cache(ID *id, IDTypeForeachCacheFunctionCallback function_callback, void *user_data)
Definition movieclip.cc:150
static void movieclip_blend_read_data(BlendDataReader *reader, ID *id)
Definition movieclip.cc:261
static void movieclip_blend_write(BlendWriter *writer, ID *id, const void *id_address)
Definition movieclip.cc:207
static void movie_clip_init_data(ID *id)
Definition movieclip.cc:90
static void movie_clip_foreach_id(ID *id, LibraryForeachIDData *data)
Definition movieclip.cc:133
static void movie_clip_copy_data(Main *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int flag)
Definition movieclip.cc:101
static void movie_clip_free_data(ID *id)
Definition movieclip.cc:123
#define N_(msgid)

Definition at line 298 of file movieclip.cc.

◆ LOG

CLG_LogRef LOG = {"gpu.texture"}
static

Definition at line 76 of file movieclip.cc.