Blender  V3.3
Macros | Functions
BKE_movieclip.h File Reference

Go to the source code of this file.

Macros

#define MOVIECLIP_CACHE_SKIP   (1 << 0)
 
#define MOVIECLIP_DISABLE_RED   (1 << 0)
 
#define MOVIECLIP_DISABLE_GREEN   (1 << 1)
 
#define MOVIECLIP_DISABLE_BLUE   (1 << 2)
 
#define MOVIECLIP_PREVIEW_GRAYSCALE   (1 << 3)
 

Functions

struct MovieClip * BKE_movieclip_file_add (struct Main *bmain, const char *name)
 
struct MovieClip * BKE_movieclip_file_add_exists_ex (struct Main *bmain, const char *filepath, bool *r_exists)
 
struct MovieClip * BKE_movieclip_file_add_exists (struct Main *bmain, const char *filepath)
 
void BKE_movieclip_reload (struct Main *bmain, struct MovieClip *clip)
 
void BKE_movieclip_clear_cache (struct MovieClip *clip)
 
void BKE_movieclip_clear_proxy_cache (struct MovieClip *clip)
 
void BKE_movieclip_convert_multilayer_ibuf (struct ImBuf *ibuf)
 
struct ImBuf * BKE_movieclip_get_ibuf (struct MovieClip *clip, struct MovieClipUser *user)
 
struct ImBuf * BKE_movieclip_get_postprocessed_ibuf (struct MovieClip *clip, struct MovieClipUser *user, int postprocess_flag)
 
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_get_size_fl (struct MovieClip *clip, struct MovieClipUser *user, float size[2])
 
int BKE_movieclip_get_duration (struct MovieClip *clip)
 
float BKE_movieclip_get_fps (struct MovieClip *clip)
 
void BKE_movieclip_get_aspect (struct MovieClip *clip, float *aspx, float *aspy)
 
bool BKE_movieclip_has_frame (struct MovieClip *clip, struct MovieClipUser *user)
 
void BKE_movieclip_user_set_frame (struct MovieClipUser *user, int framenr)
 
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 *r_totseg, int **r_points)
 
void BKE_movieclip_build_proxy_frame (struct 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 (struct MovieClip *clip, struct ImBuf *ibuf, struct MovieDistortion *distortion, int cfra, int *build_sizes, int build_count, bool undistorted)
 
bool BKE_movieclip_proxy_enabled (struct MovieClip *clip)
 
float BKE_movieclip_remap_scene_to_clip_frame (const struct MovieClip *clip, float framenr)
 
float BKE_movieclip_remap_clip_to_scene_frame (const struct MovieClip *clip, float framenr)
 
void BKE_movieclip_filename_for_frame (struct MovieClip *clip, struct MovieClipUser *user, char *name)
 
struct ImBuf * BKE_movieclip_anim_ibuf_for_frame_no_lock (struct MovieClip *clip, struct MovieClipUser *user)
 
bool BKE_movieclip_has_cached_frame (struct MovieClip *clip, struct MovieClipUser *user)
 
bool BKE_movieclip_put_frame_if_possible (struct MovieClip *clip, struct MovieClipUser *user, struct ImBuf *ibuf)
 
struct GPUTexture * BKE_movieclip_get_gpu_texture (struct MovieClip *clip, struct MovieClipUser *cuser)
 
void BKE_movieclip_free_gputexture (struct MovieClip *clip)
 
void BKE_movieclip_eval_update (struct Depsgraph *depsgraph, struct Main *bmain, struct MovieClip *clip)
 
void BKE_movieclip_eval_selection_update (struct Depsgraph *depsgraph, struct MovieClip *clip)
 

Macro Definition Documentation

◆ MOVIECLIP_CACHE_SKIP

#define MOVIECLIP_CACHE_SKIP   (1 << 0)

Caching flags.

Definition at line 136 of file BKE_movieclip.h.

◆ MOVIECLIP_DISABLE_BLUE

#define MOVIECLIP_DISABLE_BLUE   (1 << 2)

Definition at line 141 of file BKE_movieclip.h.

◆ MOVIECLIP_DISABLE_GREEN

#define MOVIECLIP_DISABLE_GREEN   (1 << 1)

Definition at line 140 of file BKE_movieclip.h.

◆ MOVIECLIP_DISABLE_RED

#define MOVIECLIP_DISABLE_RED   (1 << 0)

Post-processing flags.

Definition at line 139 of file BKE_movieclip.h.

◆ MOVIECLIP_PREVIEW_GRAYSCALE

#define MOVIECLIP_PREVIEW_GRAYSCALE   (1 << 3)

Definition at line 142 of file BKE_movieclip.h.

Function Documentation

◆ BKE_movieclip_anim_ibuf_for_frame_no_lock()

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

Read image buffer from the given movie clip without acquiring the LOCK_MOVIECLIP lock. Used by a prefetch job which takes care of creating a local copy of the clip.

Definition at line 1931 of file movieclip.c.

References MovieClip::flag, MovieClipUser::framenr, MCLIP_SRC_MOVIE, movieclip_load_movie_file(), NULL, and MovieClip::source.

Referenced by prefetch_movie_frame().

◆ BKE_movieclip_build_proxy_frame()

void BKE_movieclip_build_proxy_frame ( struct MovieClip *  clip,
int  clip_flag,
struct MovieDistortion *  distortion,
int  cfra,
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 1823 of file movieclip.c.

References BKE_movieclip_get_ibuf_flag(), MovieClipUser::framenr, get_undistorted_ibuf(), 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,
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 1864 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 ( struct MovieClip *  clip)

Definition at line 1655 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 ( struct 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 527 of file movieclip.c.

References BLI_assert, ImBuf::channels, ImBuf::flags, ImBuf::ftype, IB_rectfloat, IMB_exr_close(), IMB_exr_multilayer_convert(), IMB_FTYPE_OPENEXR, ImBuf::mall, NULL, ImBuf::rect_float, and ImBuf::userdata.

Referenced by movieclip_load_sequence_file(), and prefetch_task_func().

◆ BKE_movieclip_eval_selection_update()

void BKE_movieclip_eval_selection_update ( struct Depsgraph *  depsgraph,
struct MovieClip *  clip 
)

◆ BKE_movieclip_eval_update()

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

◆ BKE_movieclip_file_add()

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

◆ BKE_movieclip_file_add_exists()

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

Definition at line 1031 of file movieclip.c.

References BKE_movieclip_file_add_exists_ex(), and NULL.

Referenced by open_exec().

◆ BKE_movieclip_file_add_exists_ex()

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

◆ BKE_movieclip_filename_for_frame()

void BKE_movieclip_filename_for_frame ( struct MovieClip *  clip,
struct 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 ( struct MovieClip *  clip,
float *  aspx,
float *  aspy 
)

◆ BKE_movieclip_get_cache_segments()

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

◆ BKE_movieclip_get_duration()

int BKE_movieclip_get_duration ( struct MovieClip *  clip)

◆ BKE_movieclip_get_fps()

float BKE_movieclip_get_fps ( struct MovieClip *  clip)

◆ BKE_movieclip_get_gpu_texture()

struct GPUTexture* BKE_movieclip_get_gpu_texture ( struct MovieClip *  clip,
struct MovieClipUser *  cuser 
)

◆ BKE_movieclip_get_ibuf()

struct ImBuf* BKE_movieclip_get_ibuf ( struct MovieClip *  clip,
struct MovieClipUser *  user 
)

◆ BKE_movieclip_get_ibuf_flag()

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

◆ BKE_movieclip_get_postprocessed_ibuf()

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

◆ BKE_movieclip_get_size()

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

◆ BKE_movieclip_get_size_fl()

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

◆ BKE_movieclip_get_stable_ibuf()

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

◆ BKE_movieclip_has_cached_frame()

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

◆ BKE_movieclip_has_frame()

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

Definition at line 1508 of file movieclip.c.

References BKE_movieclip_get_ibuf(), and IMB_freeImBuf().

◆ BKE_movieclip_proxy_enabled()

bool BKE_movieclip_proxy_enabled ( struct MovieClip *  clip)

Definition at line 1894 of file movieclip.c.

References MovieClip::flag, and MCLIP_USE_PROXY.

Referenced by seq_render_movieclip_strip().

◆ BKE_movieclip_put_frame_if_possible()

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

◆ BKE_movieclip_reload()

void BKE_movieclip_reload ( struct Main *  bmain,
struct MovieClip *  clip 
)

◆ BKE_movieclip_remap_clip_to_scene_frame()

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

◆ BKE_movieclip_remap_scene_to_clip_frame()

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

◆ BKE_movieclip_update_scopes()

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

◆ BKE_movieclip_user_set_frame()

void BKE_movieclip_user_set_frame ( struct MovieClipUser *  user,
int  framenr 
)