36 bool cache_frame = !context.is_rendering();
38 ImBuf *ibuf =
nullptr;
70 float loc[2], scale,
angle;
79 context.get_framenumber());
82 movie_clip, clip_framenr, ibuf->
x, ibuf->
y, loc, &scale, &angle);
float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr)
#define MOVIECLIP_CACHE_SKIP
struct ImBuf * BKE_movieclip_get_ibuf(struct MovieClip *clip, const struct MovieClipUser *user)
struct ImBuf * BKE_movieclip_get_ibuf_flag(struct MovieClip *clip, const struct MovieClipUser *user, int flag, int cache_flag)
void BKE_tracking_stabilization_data_get(struct MovieClip *clip, int framenr, int width, int height, float translation[2], float *scale, float *angle)
@ TRACKING_2D_STABILIZATION
static double angle(const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
Overall context of the compositor.
void set_cache_frame(bool value)
void set_movie_clip(MovieClip *image)
void set_movie_clip_user(MovieClipUser *imageuser)
void set_framenumber(int framenumber)
MovieClipNode(bNode *editor_node)
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
void add_preview(NodeOperationOutput *output)
void add_operation(NodeOperation *operation)
void add_output_value(NodeOutput *output, float value)
NodeOperationOutput * get_output_socket(unsigned int index=0)
NodeOutput are sockets that can send data/input.
NodeOutput * get_output_socket(unsigned int index=0) const
const bNode * get_bnode() const
get the reference to the SDNA bNode struct
void IMB_freeImBuf(ImBuf *)
struct MovieTracking tracking
MovieTrackingStabilization stabilization