Blender V4.5
BKE_movieclip.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
11struct Depsgraph;
12struct ImBuf;
13struct Main;
14struct MovieClip;
15struct MovieClipScopes;
16struct MovieClipUser;
17struct MovieDistortion;
18
23struct MovieClip *BKE_movieclip_file_add(struct Main *bmain, const char *filepath);
25 const char *filepath,
26 bool *r_exists);
27struct MovieClip *BKE_movieclip_file_add_exists(struct Main *bmain, const char *filepath);
28void BKE_movieclip_reload(struct Main *bmain, struct MovieClip *clip);
29void BKE_movieclip_clear_cache(struct MovieClip *clip);
31
38
39struct ImBuf *BKE_movieclip_get_ibuf(struct MovieClip *clip, const struct MovieClipUser *user);
41 const struct MovieClipUser *user,
42 int postprocess_flag);
44 const struct MovieClipUser *user,
45 int postprocess_flag,
46 float r_loc[2],
47 float *r_scale,
48 float *r_angle);
50 const struct MovieClipUser *user,
51 int flag,
52 int cache_flag);
54 const struct MovieClipUser *user,
55 int *r_width,
56 int *r_height);
58 const struct MovieClipUser *user,
59 float r_size[2]);
61float BKE_movieclip_get_fps(struct MovieClip *clip);
62void BKE_movieclip_get_aspect(struct MovieClip *clip, float *aspx, float *aspy);
63bool BKE_movieclip_has_frame(struct MovieClip *clip, const struct MovieClipUser *user);
64void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr);
65
67 const struct MovieClipUser *user,
68 struct MovieClipScopes *scopes);
69
74 const struct MovieClipUser *user,
75 int *r_totseg,
76 int **r_points);
77
83 int clip_flag,
84 struct MovieDistortion *distortion,
85 int cfra,
86 const int *build_sizes,
87 int build_count,
88 bool undistorted);
89
95 struct ImBuf *ibuf,
96 struct MovieDistortion *distortion,
97 int cfra,
98 const int *build_sizes,
99 int build_count,
100 bool undistorted);
101bool BKE_movieclip_proxy_enabled(struct MovieClip *clip);
102
103float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr);
104float BKE_movieclip_remap_clip_to_scene_frame(const struct MovieClip *clip, float framenr);
105
107 const struct MovieClipUser *user,
108 char *filepath);
109
115 const struct MovieClipUser *user);
116
117bool BKE_movieclip_has_cached_frame(struct MovieClip *clip, const struct MovieClipUser *user);
119 const struct MovieClipUser *user,
120 struct ImBuf *ibuf);
121
122struct GPUTexture *BKE_movieclip_get_gpu_texture(struct MovieClip *clip,
123 struct MovieClipUser *cuser);
124
126
127/* Dependency graph evaluation. */
128
129void BKE_movieclip_eval_update(struct Depsgraph *depsgraph,
130 struct Main *bmain,
131 struct MovieClip *clip);
132
134#define MOVIECLIP_CACHE_SKIP (1 << 0)
135
137#define MOVIECLIP_DISABLE_RED (1 << 0)
138#define MOVIECLIP_DISABLE_GREEN (1 << 1)
139#define MOVIECLIP_DISABLE_BLUE (1 << 2)
140#define MOVIECLIP_PREVIEW_GRAYSCALE (1 << 3)
struct ImBuf * BKE_movieclip_get_stable_ibuf(struct MovieClip *clip, const struct MovieClipUser *user, int postprocess_flag, float r_loc[2], float *r_scale, float *r_angle)
struct ImBuf * BKE_movieclip_get_postprocessed_ibuf(struct MovieClip *clip, const struct MovieClipUser *user, int postprocess_flag)
bool BKE_movieclip_proxy_enabled(struct MovieClip *clip)
void BKE_movieclip_update_scopes(struct MovieClip *clip, const struct MovieClipUser *user, struct MovieClipScopes *scopes)
void BKE_movieclip_get_aspect(struct MovieClip *clip, float *aspx, float *aspy)
float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr)
struct MovieClip * BKE_movieclip_file_add(struct Main *bmain, const char *filepath)
Definition movieclip.cc:953
void BKE_movieclip_eval_update(struct Depsgraph *depsgraph, struct Main *bmain, struct MovieClip *clip)
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)
struct ImBuf * BKE_movieclip_anim_ibuf_for_frame_no_lock(struct MovieClip *clip, const struct MovieClipUser *user)
void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr)
void BKE_movieclip_reload(struct Main *bmain, struct MovieClip *clip)
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)
struct MovieClip * BKE_movieclip_file_add_exists(struct Main *bmain, const char *filepath)
void BKE_movieclip_get_size_fl(struct MovieClip *clip, const struct MovieClipUser *user, float r_size[2])
bool BKE_movieclip_has_cached_frame(struct MovieClip *clip, const struct MovieClipUser *user)
int BKE_movieclip_get_duration(struct MovieClip *clip)
void BKE_movieclip_clear_cache(struct MovieClip *clip)
void BKE_movieclip_get_size(struct MovieClip *clip, const struct MovieClipUser *user, int *r_width, int *r_height)
bool BKE_movieclip_put_frame_if_possible(struct MovieClip *clip, const struct MovieClipUser *user, struct ImBuf *ibuf)
void BKE_movieclip_filepath_for_frame(struct MovieClip *clip, const struct MovieClipUser *user, char *filepath)
float BKE_movieclip_remap_clip_to_scene_frame(const struct MovieClip *clip, float framenr)
bool BKE_movieclip_has_frame(struct MovieClip *clip, const struct MovieClipUser *user)
void BKE_movieclip_get_cache_segments(struct MovieClip *clip, const struct MovieClipUser *user, int *r_totseg, int **r_points)
struct ImBuf * BKE_movieclip_get_ibuf(struct MovieClip *clip, const struct MovieClipUser *user)
struct GPUTexture * BKE_movieclip_get_gpu_texture(struct MovieClip *clip, struct MovieClipUser *cuser)
void BKE_movieclip_clear_proxy_cache(struct MovieClip *clip)
struct MovieClip * BKE_movieclip_file_add_exists_ex(struct Main *bmain, const char *filepath, bool *r_exists)
Definition movieclip.cc:989
float BKE_movieclip_get_fps(struct MovieClip *clip)
void BKE_movieclip_convert_multilayer_ibuf(struct ImBuf *ibuf)
Definition movieclip.cc:516
void BKE_movieclip_free_gputexture(struct MovieClip *clip)
struct ImBuf * BKE_movieclip_get_ibuf_flag(struct MovieClip *clip, const struct MovieClipUser *user, int flag, int cache_flag)
BPy_StructRNA * depsgraph
char filepath[IMB_FILEPATH_SIZE]
char filepath[1024]
uint8_t flag
Definition wm_window.cc:139