Blender V4.3
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
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15struct Depsgraph;
16struct ImBuf;
17struct Main;
18struct MovieClip;
19struct MovieClipScopes;
20struct MovieClipUser;
21struct MovieDistortion;
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
126struct GPUTexture *BKE_movieclip_get_gpu_texture(struct MovieClip *clip,
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)
145
146#ifdef __cplusplus
147}
148#endif
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:941
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:977
float BKE_movieclip_get_fps(struct MovieClip *clip)
void BKE_movieclip_convert_multilayer_ibuf(struct ImBuf *ibuf)
Definition movieclip.cc:505
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)
const Depsgraph * depsgraph
char filepath[IMB_FILEPATH_SIZE]
char filepath[1024]
uint8_t flag
Definition wm_window.cc:138