Blender V5.0
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
19namespace blender::gpu {
20class Texture;
21} // namespace blender::gpu
22
27struct MovieClip *BKE_movieclip_file_add(struct Main *bmain, const char *filepath);
29 const char *filepath,
30 bool *r_exists);
31struct MovieClip *BKE_movieclip_file_add_exists(struct Main *bmain, const char *filepath);
32void BKE_movieclip_reload(struct Main *bmain, struct MovieClip *clip);
33void BKE_movieclip_clear_cache(struct MovieClip *clip);
35
42
43struct ImBuf *BKE_movieclip_get_ibuf(struct MovieClip *clip, const struct MovieClipUser *user);
45 const struct MovieClipUser *user,
46 int postprocess_flag);
48 const struct MovieClipUser *user,
49 int postprocess_flag,
50 float r_loc[2],
51 float *r_scale,
52 float *r_angle);
54 const struct MovieClipUser *user,
55 int flag,
56 int cache_flag);
58 const struct MovieClipUser *user,
59 int *r_width,
60 int *r_height);
62 const struct MovieClipUser *user,
63 float r_size[2]);
65float BKE_movieclip_get_fps(struct MovieClip *clip);
66void BKE_movieclip_get_aspect(struct MovieClip *clip, float *aspx, float *aspy);
67bool BKE_movieclip_has_frame(struct MovieClip *clip, const struct MovieClipUser *user);
68void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr);
69
71 const struct MovieClipUser *user,
72 struct MovieClipScopes *scopes);
73
78 const struct MovieClipUser *user,
79 int *r_totseg,
80 int **r_points);
81
87 int clip_flag,
88 struct MovieDistortion *distortion,
89 int cfra,
90 const int *build_sizes,
91 int build_count,
92 bool undistorted);
93
99 struct ImBuf *ibuf,
100 struct MovieDistortion *distortion,
101 int cfra,
102 const int *build_sizes,
103 int build_count,
104 bool undistorted);
105bool BKE_movieclip_proxy_enabled(struct MovieClip *clip);
106
107float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr);
108float BKE_movieclip_remap_clip_to_scene_frame(const struct MovieClip *clip, float framenr);
109
111 const struct MovieClipUser *user,
112 char *filepath);
113
119 const struct MovieClipUser *user);
120
121bool BKE_movieclip_has_cached_frame(struct MovieClip *clip, const struct MovieClipUser *user);
123 const struct MovieClipUser *user,
124 struct ImBuf *ibuf);
125
127 struct MovieClipUser *cuser);
128
130
131/* Dependency graph evaluation. */
132
133void BKE_movieclip_eval_update(struct Depsgraph *depsgraph,
134 struct Main *bmain,
135 struct MovieClip *clip);
136
138#define MOVIECLIP_CACHE_SKIP (1 << 0)
139
141#define MOVIECLIP_DISABLE_RED (1 << 0)
142#define MOVIECLIP_DISABLE_GREEN (1 << 1)
143#define MOVIECLIP_DISABLE_BLUE (1 << 2)
144#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:955
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)
void BKE_movieclip_clear_proxy_cache(struct MovieClip *clip)
blender::gpu::Texture * BKE_movieclip_get_gpu_texture(struct MovieClip *clip, struct MovieClipUser *cuser)
struct MovieClip * BKE_movieclip_file_add_exists_ex(struct Main *bmain, const char *filepath, bool *r_exists)
Definition movieclip.cc:991
float BKE_movieclip_get_fps(struct MovieClip *clip)
void BKE_movieclip_convert_multilayer_ibuf(struct ImBuf *ibuf)
Definition movieclip.cc:521
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:145