Blender  V3.3
BKE_movieclip.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2011 Blender Foundation. All rights reserved. */
3 
4 #pragma once
5 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 struct Depsgraph;
15 struct ImBuf;
16 struct Main;
17 struct MovieClip;
18 struct MovieClipScopes;
19 struct MovieClipUser;
20 struct MovieDistortion;
21 
26 struct MovieClip *BKE_movieclip_file_add(struct Main *bmain, const char *name);
27 struct MovieClip *BKE_movieclip_file_add_exists_ex(struct Main *bmain,
28  const char *filepath,
29  bool *r_exists);
30 struct MovieClip *BKE_movieclip_file_add_exists(struct Main *bmain, const char *filepath);
31 void BKE_movieclip_reload(struct Main *bmain, struct MovieClip *clip);
32 void BKE_movieclip_clear_cache(struct MovieClip *clip);
34 
41 
42 struct ImBuf *BKE_movieclip_get_ibuf(struct MovieClip *clip, struct MovieClipUser *user);
44  struct MovieClipUser *user,
45  int postprocess_flag);
46 struct ImBuf *BKE_movieclip_get_stable_ibuf(struct MovieClip *clip,
47  struct MovieClipUser *user,
48  float loc[2],
49  float *scale,
50  float *angle,
51  int postprocess_flag);
52 struct ImBuf *BKE_movieclip_get_ibuf_flag(struct MovieClip *clip,
53  struct MovieClipUser *user,
54  int flag,
55  int cache_flag);
56 void BKE_movieclip_get_size(struct MovieClip *clip,
57  struct MovieClipUser *user,
58  int *width,
59  int *height);
60 void BKE_movieclip_get_size_fl(struct MovieClip *clip, struct MovieClipUser *user, float size[2]);
61 int BKE_movieclip_get_duration(struct MovieClip *clip);
62 float BKE_movieclip_get_fps(struct MovieClip *clip);
63 void BKE_movieclip_get_aspect(struct MovieClip *clip, float *aspx, float *aspy);
64 bool BKE_movieclip_has_frame(struct MovieClip *clip, struct MovieClipUser *user);
65 void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr);
66 
67 void BKE_movieclip_update_scopes(struct MovieClip *clip,
68  struct MovieClipUser *user,
69  struct MovieClipScopes *scopes);
70 
75  struct MovieClipUser *user,
76  int *r_totseg,
77  int **r_points);
78 
84  int clip_flag,
85  struct MovieDistortion *distortion,
86  int cfra,
87  int *build_sizes,
88  int build_count,
89  bool undistorted);
90 
96  struct ImBuf *ibuf,
97  struct MovieDistortion *distortion,
98  int cfra,
99  int *build_sizes,
100  int build_count,
101  bool undistorted);
102 bool BKE_movieclip_proxy_enabled(struct MovieClip *clip);
103 
104 float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr);
105 float BKE_movieclip_remap_clip_to_scene_frame(const struct MovieClip *clip, float framenr);
106 
108  struct MovieClipUser *user,
109  char *name);
110 
116  struct MovieClipUser *user);
117 
118 bool BKE_movieclip_has_cached_frame(struct MovieClip *clip, struct MovieClipUser *user);
120  struct MovieClipUser *user,
121  struct ImBuf *ibuf);
122 
124  struct MovieClipUser *cuser);
125 
126 void BKE_movieclip_free_gputexture(struct MovieClip *clip);
127 
128 /* Dependency graph evaluation. */
129 
131  struct Main *bmain,
132  struct MovieClip *clip);
134 
136 #define MOVIECLIP_CACHE_SKIP (1 << 0)
137 
139 #define MOVIECLIP_DISABLE_RED (1 << 0)
140 #define MOVIECLIP_DISABLE_GREEN (1 << 1)
141 #define MOVIECLIP_DISABLE_BLUE (1 << 2)
142 #define MOVIECLIP_PREVIEW_GRAYSCALE (1 << 3)
143 
144 #ifdef __cplusplus
145 }
146 #endif
bool BKE_movieclip_proxy_enabled(struct MovieClip *clip)
Definition: movieclip.c:1894
struct MovieClip * BKE_movieclip_file_add_exists_ex(struct Main *bmain, const char *filepath, bool *r_exists)
Definition: movieclip.c:1003
bool BKE_movieclip_put_frame_if_possible(struct MovieClip *clip, struct MovieClipUser *user, struct ImBuf *ibuf)
Definition: movieclip.c:1953
void BKE_movieclip_get_aspect(struct MovieClip *clip, float *aspx, float *aspy)
Definition: movieclip.c:1588
float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr)
void BKE_movieclip_eval_update(struct Depsgraph *depsgraph, struct Main *bmain, struct MovieClip *clip)
Definition: movieclip.c:2017
struct MovieClip * BKE_movieclip_file_add_exists(struct Main *bmain, const char *filepath)
Definition: movieclip.c:1031
struct ImBuf * BKE_movieclip_get_ibuf_flag(struct MovieClip *clip, struct MovieClipUser *user, int flag, int cache_flag)
Definition: movieclip.c:1334
void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr)
Definition: movieclip.c:1614
void BKE_movieclip_reload(struct Main *bmain, struct MovieClip *clip)
Definition: movieclip.c:1667
int BKE_movieclip_get_duration(struct MovieClip *clip)
Definition: movieclip.c:1562
void BKE_movieclip_eval_selection_update(struct Depsgraph *depsgraph, struct MovieClip *clip)
Definition: movieclip.c:2028
void BKE_movieclip_clear_cache(struct MovieClip *clip)
Definition: movieclip.c:1655
void BKE_movieclip_get_size_fl(struct MovieClip *clip, struct MovieClipUser *user, float size[2])
Definition: movieclip.c:1553
void BKE_movieclip_get_size(struct MovieClip *clip, struct MovieClipUser *user, int *width, int *height)
Definition: movieclip.c:1520
bool BKE_movieclip_has_frame(struct MovieClip *clip, struct MovieClipUser *user)
Definition: movieclip.c:1508
struct ImBuf * BKE_movieclip_get_ibuf(struct MovieClip *clip, struct MovieClipUser *user)
Definition: movieclip.c:1329
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)
Definition: movieclip.c:1909
struct ImBuf * BKE_movieclip_anim_ibuf_for_frame_no_lock(struct MovieClip *clip, struct MovieClipUser *user)
Definition: movieclip.c:1931
void BKE_movieclip_clear_proxy_cache(struct MovieClip *clip)
Definition: movieclip.c:1660
void BKE_movieclip_update_scopes(struct MovieClip *clip, struct MovieClipUser *user, struct MovieClipScopes *scopes)
Definition: movieclip.c:1683
struct ImBuf * BKE_movieclip_get_stable_ibuf(struct MovieClip *clip, struct MovieClipUser *user, float loc[2], float *scale, float *angle, int postprocess_flag)
Definition: movieclip.c:1447
struct GPUTexture * BKE_movieclip_get_gpu_texture(struct MovieClip *clip, struct MovieClipUser *cuser)
Definition: movieclip.c:2066
float BKE_movieclip_get_fps(struct MovieClip *clip)
Definition: movieclip.c:1571
void BKE_movieclip_convert_multilayer_ibuf(struct ImBuf *ibuf)
Definition: movieclip.c:527
struct ImBuf * BKE_movieclip_get_postprocessed_ibuf(struct MovieClip *clip, struct MovieClipUser *user, int postprocess_flag)
Definition: movieclip.c:1339
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)
Definition: movieclip.c:1864
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)
Definition: movieclip.c:1823
void BKE_movieclip_free_gputexture(struct MovieClip *clip)
Definition: movieclip.c:2098
struct MovieClip * BKE_movieclip_file_add(struct Main *bmain, const char *name)
Definition: movieclip.c:967
void BKE_movieclip_get_cache_segments(struct MovieClip *clip, struct MovieClipUser *user, int *r_totseg, int **r_points)
Definition: movieclip.c:1596
bool BKE_movieclip_has_cached_frame(struct MovieClip *clip, struct MovieClipUser *user)
Definition: movieclip.c:1942
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
struct GPUTexture GPUTexture
Definition: GPU_texture.h:17
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition: btDbvt.cpp:52
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
Definition: btVector3.h:356
const Depsgraph * depsgraph
char name[IMB_FILENAME_SIZE]
Definition: BKE_main.h:121
char filepath[1024]