Blender  V2.93
Classes | Typedefs | Functions | Variables
tracking.c File Reference
#include <limits.h>
#include <math.h>
#include <memory.h>
#include <stddef.h>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_camera_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_bitmap_draw_2d.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_math_base.h"
#include "BLI_string.h"
#include "BLI_string_utils.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_fcurve.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_movieclip.h"
#include "BKE_object.h"
#include "BKE_scene.h"
#include "BKE_tracking.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "RNA_access.h"
#include "libmv-capi.h"
#include "tracking_private.h"

Go to the source code of this file.

Classes

struct  MovieDistortion
 
struct  TrackMaskSetPixelData
 

Typedefs

typedef struct MovieDistortion MovieDistortion
 
typedef struct TrackMaskSetPixelData TrackMaskSetPixelData
 

Functions

static void tracking_tracks_free (ListBase *tracks)
 
static void tracking_plane_tracks_free (ListBase *plane_tracks)
 
static void tracking_reconstruction_free (MovieTrackingReconstruction *reconstruction)
 
static void tracking_object_free (MovieTrackingObject *object)
 
static void tracking_objects_free (ListBase *objects)
 
static void tracking_dopesheet_free (MovieTrackingDopesheet *dopesheet)
 
void BKE_tracking_free (MovieTracking *tracking)
 
static void tracking_tracks_copy (ListBase *tracks_dst, const ListBase *tracks_src, GHash *tracks_mapping, const int flag)
 
static void tracking_plane_tracks_copy (ListBase *plane_tracks_list_dst, const ListBase *plane_tracks_list_src, GHash *tracks_mapping, const int flag)
 
static void tracking_reconstruction_copy (MovieTrackingReconstruction *reconstruction_dst, const MovieTrackingReconstruction *reconstruction_src, const int UNUSED(flag))
 
static void tracking_stabilization_copy (MovieTrackingStabilization *stabilization_dst, const MovieTrackingStabilization *stabilization_src, const int UNUSED(flag))
 
static void tracking_object_copy (MovieTrackingObject *object_dst, const MovieTrackingObject *object_src, GHash *tracks_mapping, const int flag)
 
static void tracking_objects_copy (ListBase *objects_dst, const ListBase *objects_src, GHash *tracks_mapping, const int flag)
 
void BKE_tracking_copy (MovieTracking *tracking_dst, const MovieTracking *tracking_src, const int flag)
 
void BKE_tracking_settings_init (MovieTracking *tracking)
 
ListBaseBKE_tracking_get_active_tracks (MovieTracking *tracking)
 
ListBaseBKE_tracking_get_active_plane_tracks (MovieTracking *tracking)
 
MovieTrackingReconstructionBKE_tracking_get_active_reconstruction (MovieTracking *tracking)
 
void BKE_tracking_get_camera_object_matrix (Object *camera_object, float mat[4][4])
 
void BKE_tracking_get_projection_matrix (MovieTracking *tracking, MovieTrackingObject *object, int framenr, int winx, int winy, float mat[4][4])
 
void BKE_tracking_clipboard_free (void)
 
void BKE_tracking_clipboard_copy_tracks (MovieTracking *tracking, MovieTrackingObject *object)
 
bool BKE_tracking_clipboard_has_tracks (void)
 
void BKE_tracking_clipboard_paste_tracks (MovieTracking *tracking, MovieTrackingObject *object)
 
MovieTrackingTrackBKE_tracking_track_add_empty (MovieTracking *tracking, ListBase *tracks_list)
 
MovieTrackingTrackBKE_tracking_track_add (MovieTracking *tracking, ListBase *tracksbase, float x, float y, int framenr, int width, int height)
 
MovieTrackingTrackBKE_tracking_track_duplicate (MovieTrackingTrack *track)
 
void BKE_tracking_track_unique_name (ListBase *tracksbase, MovieTrackingTrack *track)
 
void BKE_tracking_track_free (MovieTrackingTrack *track)
 
void BKE_tracking_track_first_last_frame_get (const MovieTrackingTrack *track, int *r_first_frame, int *r_last_frame)
 
void BKE_tracking_tracks_first_last_frame_minmax (MovieTrackingTrack **tracks, const int num_tracks, int *r_first_frame, int *r_last_frame)
 
int BKE_tracking_count_selected_tracks_in_list (const ListBase *tracks_list)
 
int BKE_tracking_count_selected_tracks_in_active_object (MovieTracking *tracking)
 
MovieTrackingTrack ** BKE_tracking_selected_tracks_in_active_object (MovieTracking *tracking, int *r_num_tracks)
 
void BKE_tracking_track_flag_set (MovieTrackingTrack *track, int area, int flag)
 
void BKE_tracking_track_flag_clear (MovieTrackingTrack *track, int area, int flag)
 
bool BKE_tracking_track_has_marker_at_frame (MovieTrackingTrack *track, int framenr)
 
bool BKE_tracking_track_has_enabled_marker_at_frame (MovieTrackingTrack *track, int framenr)
 
void BKE_tracking_track_path_clear (MovieTrackingTrack *track, int ref_frame, int action)
 
void BKE_tracking_tracks_join (MovieTracking *tracking, MovieTrackingTrack *dst_track, MovieTrackingTrack *src_track)
 
static void accumulate_marker (MovieTrackingMarker *dst_marker, const MovieTrackingMarker *src_marker)
 
static void multiply_marker (MovieTrackingMarker *marker, const float multiplier)
 
static void tracking_average_markers (MovieTrackingTrack *dst_track, MovieTrackingTrack **src_tracks, const int num_src_tracks)
 
static void tracking_average_tracks (MovieTrackingTrack *dst_track, MovieTrackingTrack **src_tracks, const int num_src_tracks)
 
void BKE_tracking_tracks_average (MovieTrackingTrack *dst_track, MovieTrackingTrack **src_tracks, const int num_src_tracks)
 
MovieTrackingTrackBKE_tracking_track_get_named (MovieTracking *tracking, MovieTrackingObject *object, const char *name)
 
MovieTrackingTrackBKE_tracking_track_get_indexed (MovieTracking *tracking, int tracknr, ListBase **r_tracksbase)
 
MovieTrackingTrackBKE_tracking_track_get_active (MovieTracking *tracking)
 
static bGPDlayertrack_mask_gpencil_layer_get (MovieTrackingTrack *track)
 
static void track_mask_set_pixel_cb (int x, int x_end, int y, void *user_data)
 
static void track_mask_gpencil_layer_rasterize (int frame_width, int frame_height, const float region_min[2], bGPDlayer *layer, float *mask, int mask_width, int mask_height)
 
floattracking_track_get_mask_for_region (int frame_width, int frame_height, const float region_min[2], const float region_max[2], MovieTrackingTrack *track)
 
floatBKE_tracking_track_get_mask (int frame_width, int frame_height, MovieTrackingTrack *track, MovieTrackingMarker *marker)
 
float BKE_tracking_track_get_weight_for_marker (MovieClip *clip, MovieTrackingTrack *track, MovieTrackingMarker *marker)
 
void BKE_tracking_track_select (ListBase *tracksbase, MovieTrackingTrack *track, int area, bool extend)
 
void BKE_tracking_track_deselect (MovieTrackingTrack *track, int area)
 
void BKE_tracking_tracks_deselect_all (ListBase *tracksbase)
 
MovieTrackingMarkerBKE_tracking_marker_insert (MovieTrackingTrack *track, MovieTrackingMarker *marker)
 
void BKE_tracking_marker_delete (MovieTrackingTrack *track, int framenr)
 
void BKE_tracking_marker_clamp (MovieTrackingMarker *marker, int event)
 
MovieTrackingMarkerBKE_tracking_marker_get (MovieTrackingTrack *track, int framenr)
 
MovieTrackingMarkerBKE_tracking_marker_get_exact (MovieTrackingTrack *track, int framenr)
 
MovieTrackingMarkerBKE_tracking_marker_ensure (MovieTrackingTrack *track, int framenr)
 
static const MovieTrackingMarkerget_usable_marker_for_interpolation (struct MovieTrackingTrack *track, const MovieTrackingMarker *anchor_marker, const int direction)
 
bool BKE_tracking_marker_get_interpolated (struct MovieTrackingTrack *track, const int framenr, struct MovieTrackingMarker *r_marker)
 
void BKE_tracking_marker_pattern_minmax (const MovieTrackingMarker *marker, float min[2], float max[2])
 
void BKE_tracking_marker_get_subframe_position (MovieTrackingTrack *track, float framenr, float pos[2])
 
MovieTrackingPlaneTrackBKE_tracking_plane_track_add (MovieTracking *tracking, ListBase *plane_tracks_base, ListBase *tracks, int framenr)
 
void BKE_tracking_plane_track_unique_name (ListBase *plane_tracks_base, MovieTrackingPlaneTrack *plane_track)
 
void BKE_tracking_plane_track_free (MovieTrackingPlaneTrack *plane_track)
 
MovieTrackingPlaneTrackBKE_tracking_plane_track_get_named (MovieTracking *tracking, MovieTrackingObject *object, const char *name)
 
MovieTrackingPlaneTrackBKE_tracking_plane_track_get_active (struct MovieTracking *tracking)
 
void BKE_tracking_plane_tracks_deselect_all (ListBase *plane_tracks_base)
 
bool BKE_tracking_plane_track_has_point_track (MovieTrackingPlaneTrack *plane_track, MovieTrackingTrack *track)
 
bool BKE_tracking_plane_track_remove_point_track (MovieTrackingPlaneTrack *plane_track, MovieTrackingTrack *track)
 
void BKE_tracking_plane_tracks_remove_point_track (MovieTracking *tracking, MovieTrackingTrack *track)
 
void BKE_tracking_plane_track_replace_point_track (MovieTrackingPlaneTrack *plane_track, MovieTrackingTrack *old_track, MovieTrackingTrack *new_track)
 
void BKE_tracking_plane_tracks_replace_point_track (MovieTracking *tracking, MovieTrackingTrack *old_track, MovieTrackingTrack *new_track)
 
MovieTrackingPlaneMarkerBKE_tracking_plane_marker_insert (MovieTrackingPlaneTrack *plane_track, MovieTrackingPlaneMarker *plane_marker)
 
void BKE_tracking_plane_marker_delete (MovieTrackingPlaneTrack *plane_track, int framenr)
 
MovieTrackingPlaneMarkerBKE_tracking_plane_marker_get (MovieTrackingPlaneTrack *plane_track, int framenr)
 
MovieTrackingPlaneMarkerBKE_tracking_plane_marker_get_exact (MovieTrackingPlaneTrack *plane_track, int framenr)
 
MovieTrackingPlaneMarkerBKE_tracking_plane_marker_ensure (MovieTrackingPlaneTrack *plane_track, int framenr)
 
void BKE_tracking_plane_marker_get_subframe_corners (MovieTrackingPlaneTrack *plane_track, float framenr, float corners[4][2])
 
MovieTrackingObjectBKE_tracking_object_add (MovieTracking *tracking, const char *name)
 
bool BKE_tracking_object_delete (MovieTracking *tracking, MovieTrackingObject *object)
 
void BKE_tracking_object_unique_name (MovieTracking *tracking, MovieTrackingObject *object)
 
MovieTrackingObjectBKE_tracking_object_get_named (MovieTracking *tracking, const char *name)
 
MovieTrackingObjectBKE_tracking_object_get_active (MovieTracking *tracking)
 
MovieTrackingObjectBKE_tracking_object_get_camera (MovieTracking *tracking)
 
ListBaseBKE_tracking_object_get_tracks (MovieTracking *tracking, MovieTrackingObject *object)
 
ListBaseBKE_tracking_object_get_plane_tracks (MovieTracking *tracking, MovieTrackingObject *object)
 
MovieTrackingReconstructionBKE_tracking_object_get_reconstruction (MovieTracking *tracking, MovieTrackingObject *object)
 
static int reconstructed_camera_index_get (MovieTrackingReconstruction *reconstruction, int framenr, bool nearest)
 
static void reconstructed_camera_scale_set (MovieTrackingObject *object, float mat[4][4])
 
void BKE_tracking_camera_shift_get (MovieTracking *tracking, int winx, int winy, float *shiftx, float *shifty)
 
void BKE_tracking_camera_to_blender (MovieTracking *tracking, Scene *scene, Camera *camera, int width, int height)
 
MovieReconstructedCameraBKE_tracking_camera_get_reconstructed (MovieTracking *tracking, MovieTrackingObject *object, int framenr)
 
void BKE_tracking_camera_get_reconstructed_interpolate (MovieTracking *tracking, MovieTrackingObject *object, float framenr, float mat[4][4])
 
MovieDistortionBKE_tracking_distortion_new (MovieTracking *tracking, int calibration_width, int calibration_height)
 
void BKE_tracking_distortion_update (MovieDistortion *distortion, MovieTracking *tracking, int calibration_width, int calibration_height)
 
void BKE_tracking_distortion_set_threads (MovieDistortion *distortion, int threads)
 
MovieDistortionBKE_tracking_distortion_copy (MovieDistortion *distortion)
 
ImBufBKE_tracking_distortion_exec (MovieDistortion *distortion, MovieTracking *tracking, ImBuf *ibuf, int calibration_width, int calibration_height, float overscan, bool undistort)
 
void BKE_tracking_distortion_distort_v2 (MovieDistortion *distortion, const float co[2], float r_co[2])
 
void BKE_tracking_distortion_undistort_v2 (MovieDistortion *distortion, const float co[2], float r_co[2])
 
void BKE_tracking_distortion_free (MovieDistortion *distortion)
 
void BKE_tracking_distort_v2 (MovieTracking *tracking, int image_width, int image_height, const float co[2], float r_co[2])
 
void BKE_tracking_undistort_v2 (MovieTracking *tracking, int image_width, int image_height, const float co[2], float r_co[2])
 
ImBufBKE_tracking_undistort_frame (MovieTracking *tracking, ImBuf *ibuf, int calibration_width, int calibration_height, float overscan)
 
ImBufBKE_tracking_distort_frame (MovieTracking *tracking, ImBuf *ibuf, int calibration_width, int calibration_height, float overscan)
 
void BKE_tracking_max_distortion_delta_across_bound (MovieTracking *tracking, int image_width, int image_height, rcti *rect, bool undistort, float delta[2])
 
static void disable_imbuf_channels (ImBuf *ibuf, MovieTrackingTrack *track, bool grayscale)
 
ImBufBKE_tracking_sample_pattern (int frame_width, int frame_height, ImBuf *search_ibuf, MovieTrackingTrack *track, MovieTrackingMarker *marker, bool from_anchor, bool use_mask, int num_samples_x, int num_samples_y, float pos[2])
 
ImBufBKE_tracking_get_pattern_imbuf (ImBuf *ibuf, MovieTrackingTrack *track, MovieTrackingMarker *marker, bool anchored, bool disable_channels)
 
ImBufBKE_tracking_get_search_imbuf (ImBuf *ibuf, MovieTrackingTrack *track, MovieTrackingMarker *marker, bool anchored, bool disable_channels)
 
void BKE_tracking_disable_channels (ImBuf *ibuf, bool disable_red, bool disable_green, bool disable_blue, bool grayscale)
 
static int channels_alpha_sort (const void *a, const void *b)
 
static int channels_total_track_sort (const void *a, const void *b)
 
static int channels_longest_segment_sort (const void *a, const void *b)
 
static int channels_average_error_sort (const void *a, const void *b)
 
static int channels_alpha_inverse_sort (const void *a, const void *b)
 
static int channels_total_track_inverse_sort (const void *a, const void *b)
 
static int channels_longest_segment_inverse_sort (const void *a, const void *b)
 
static int channels_average_error_inverse_sort (const void *a, const void *b)
 
static void tracking_dopesheet_channels_segments_calc (MovieTrackingDopesheetChannel *channel)
 
static void tracking_dopesheet_channels_calc (MovieTracking *tracking)
 
static void tracking_dopesheet_channels_sort (MovieTracking *tracking, int sort_method, bool inverse)
 
static int coverage_from_count (int count)
 
static void tracking_dopesheet_calc_coverage (MovieTracking *tracking)
 
void BKE_tracking_dopesheet_tag_update (MovieTracking *tracking)
 
void BKE_tracking_dopesheet_update (MovieTracking *tracking)
 
MovieTrackingObjectBKE_tracking_find_object_for_track (const MovieTracking *tracking, const MovieTrackingTrack *track)
 
ListBaseBKE_tracking_find_tracks_list_for_track (MovieTracking *tracking, const MovieTrackingTrack *track)
 
MovieTrackingObjectBKE_tracking_find_object_for_plane_track (const MovieTracking *tracking, const MovieTrackingPlaneTrack *plane_track)
 
ListBaseBKE_tracking_find_tracks_list_for_plane_track (MovieTracking *tracking, const MovieTrackingPlaneTrack *plane_track)
 
void BKE_tracking_get_rna_path_for_track (const struct MovieTracking *tracking, const struct MovieTrackingTrack *track, char *rna_path, size_t rna_path_len)
 
void BKE_tracking_get_rna_path_prefix_for_track (const struct MovieTracking *tracking, const struct MovieTrackingTrack *track, char *rna_path, size_t rna_path_len)
 
void BKE_tracking_get_rna_path_for_plane_track (const struct MovieTracking *tracking, const struct MovieTrackingPlaneTrack *plane_track, char *rna_path, size_t rna_path_len)
 
void BKE_tracking_get_rna_path_prefix_for_plane_track (const struct MovieTracking *tracking, const struct MovieTrackingPlaneTrack *plane_track, char *rna_path, size_t rna_path_len)
 

Variables

struct {
   ListBase   tracks
 
tracking_clipboard
 

Typedef Documentation

◆ MovieDistortion

◆ TrackMaskSetPixelData

Function Documentation

◆ accumulate_marker()

static void accumulate_marker ( MovieTrackingMarker dst_marker,
const MovieTrackingMarker src_marker 
)
static

◆ BKE_tracking_camera_get_reconstructed()

MovieReconstructedCamera* BKE_tracking_camera_get_reconstructed ( MovieTracking tracking,
MovieTrackingObject object,
int  framenr 
)

◆ BKE_tracking_camera_get_reconstructed_interpolate()

void BKE_tracking_camera_get_reconstructed_interpolate ( MovieTracking tracking,
MovieTrackingObject object,
float  framenr,
float  mat[4][4] 
)

◆ BKE_tracking_camera_shift_get()

void BKE_tracking_camera_shift_get ( MovieTracking tracking,
int  winx,
int  winy,
float shiftx,
float shifty 
)

◆ BKE_tracking_camera_to_blender()

void BKE_tracking_camera_to_blender ( MovieTracking tracking,
Scene scene,
Camera camera,
int  width,
int  height 
)

◆ BKE_tracking_clipboard_copy_tracks()

void BKE_tracking_clipboard_copy_tracks ( MovieTracking tracking,
MovieTrackingObject object 
)

◆ BKE_tracking_clipboard_free()

void BKE_tracking_clipboard_free ( void  )

◆ BKE_tracking_clipboard_has_tracks()

bool BKE_tracking_clipboard_has_tracks ( void  )

Definition at line 514 of file tracking.c.

References BLI_listbase_is_empty(), and tracking_clipboard.

Referenced by paste_tracks_poll().

◆ BKE_tracking_clipboard_paste_tracks()

void BKE_tracking_clipboard_paste_tracks ( MovieTracking tracking,
MovieTrackingObject object 
)

◆ BKE_tracking_copy()

void BKE_tracking_copy ( MovieTracking tracking_dst,
const MovieTracking tracking_src,
const int  flag 
)

◆ BKE_tracking_count_selected_tracks_in_active_object()

int BKE_tracking_count_selected_tracks_in_active_object ( MovieTracking tracking)

◆ BKE_tracking_count_selected_tracks_in_list()

int BKE_tracking_count_selected_tracks_in_list ( const ListBase tracks_list)

Definition at line 699 of file tracking.c.

References LISTBASE_FOREACH, and TRACK_SELECTED.

Referenced by BKE_tracking_count_selected_tracks_in_active_object().

◆ BKE_tracking_disable_channels()

void BKE_tracking_disable_channels ( ImBuf ibuf,
bool  disable_red,
bool  disable_green,
bool  disable_blue,
bool  grayscale 
)

◆ BKE_tracking_distort_frame()

ImBuf* BKE_tracking_distort_frame ( MovieTracking tracking,
ImBuf ibuf,
int  calibration_width,
int  calibration_height,
float  overscan 
)

◆ BKE_tracking_distort_v2()

void BKE_tracking_distort_v2 ( MovieTracking tracking,
int  image_width,
int  image_height,
const float  co[2],
float  r_co[2] 
)

◆ BKE_tracking_distortion_copy()

MovieDistortion* BKE_tracking_distortion_copy ( MovieDistortion distortion)

Definition at line 2450 of file tracking.c.

References MovieDistortion::intrinsics, libmv_cameraIntrinsicsCopy(), and MEM_callocN.

Referenced by local_merge(), and storage_copy().

◆ BKE_tracking_distortion_distort_v2()

void BKE_tracking_distortion_distort_v2 ( MovieDistortion distortion,
const float  co[2],
float  r_co[2] 
)

◆ BKE_tracking_distortion_exec()

ImBuf* BKE_tracking_distortion_exec ( MovieDistortion distortion,
MovieTracking tracking,
ImBuf ibuf,
int  calibration_width,
int  calibration_height,
float  overscan,
bool  undistort 
)

◆ BKE_tracking_distortion_free()

void BKE_tracking_distortion_free ( MovieDistortion distortion)

◆ BKE_tracking_distortion_new()

MovieDistortion* BKE_tracking_distortion_new ( MovieTracking tracking,
int  calibration_width,
int  calibration_height 
)

◆ BKE_tracking_distortion_set_threads()

void BKE_tracking_distortion_set_threads ( MovieDistortion distortion,
int  threads 
)

◆ BKE_tracking_distortion_undistort_v2()

void BKE_tracking_distortion_undistort_v2 ( MovieDistortion distortion,
const float  co[2],
float  r_co[2] 
)

◆ BKE_tracking_distortion_update()

void BKE_tracking_distortion_update ( MovieDistortion distortion,
MovieTracking tracking,
int  calibration_width,
int  calibration_height 
)

◆ BKE_tracking_dopesheet_tag_update()

void BKE_tracking_dopesheet_tag_update ( MovieTracking tracking)

◆ BKE_tracking_dopesheet_update()

void BKE_tracking_dopesheet_update ( MovieTracking tracking)

◆ BKE_tracking_find_object_for_plane_track()

MovieTrackingObject* BKE_tracking_find_object_for_plane_track ( const MovieTracking tracking,
const MovieTrackingPlaneTrack plane_track 
)

◆ BKE_tracking_find_object_for_track()

MovieTrackingObject* BKE_tracking_find_object_for_track ( const MovieTracking tracking,
const MovieTrackingTrack track 
)

◆ BKE_tracking_find_tracks_list_for_plane_track()

ListBase* BKE_tracking_find_tracks_list_for_plane_track ( MovieTracking tracking,
const MovieTrackingPlaneTrack plane_track 
)

◆ BKE_tracking_find_tracks_list_for_track()

ListBase* BKE_tracking_find_tracks_list_for_track ( MovieTracking tracking,
const MovieTrackingTrack track 
)

Definition at line 3370 of file tracking.c.

References BKE_tracking_find_object_for_track(), NULL, and MovieTracking::tracks.

◆ BKE_tracking_free()

void BKE_tracking_free ( MovieTracking tracking)

◆ BKE_tracking_get_active_plane_tracks()

ListBase* BKE_tracking_get_active_plane_tracks ( MovieTracking tracking)

◆ BKE_tracking_get_active_reconstruction()

MovieTrackingReconstruction* BKE_tracking_get_active_reconstruction ( MovieTracking tracking)

◆ BKE_tracking_get_active_tracks()

ListBase* BKE_tracking_get_active_tracks ( MovieTracking tracking)

Definition at line 365 of file tracking.c.

References BKE_tracking_object_get_active(), MovieTrackingObject::flag, TRACKING_OBJECT_CAMERA, and MovieTracking::tracks.

Referenced by add_marker(), autotrack_context_init_tracks_for_clip(), average_tracks_exec(), BKE_tracking_count_selected_tracks_in_active_object(), BKE_tracking_selected_tracks_in_active_object(), BKE_tracking_track_get_active(), box_select_exec(), blender::compositor::KeyingScreenOperation::buildVoronoiTriangulation(), circle_select_exec(), clean_tracks_exec(), clear_solution_exec(), clear_track_path_exec(), clip_delete_track(), clip_graph_tracking_iterate(), clip_graph_tracking_values_iterate(), clip_tracking_clear_invisible_track_selection(), count_selected_bundles(), create_plane_track_tracks_exec(), createTransTrackingCurvesData(), createTransTrackingTracksData(), delete_marker_exec(), delete_track_exec(), detect_features_exec(), disable_markers_exec(), do_lasso_select_marker(), do_set_scale(), draw_tracking_tracks(), ED_clip_select_all(), hide_tracks_clear_exec(), hide_tracks_exec(), join_tracks_exec(), keyframe_set_flag(), lock_tracks_exec(), mouse_select(), recalcData_tracking(), refine_marker_exec(), select_grouped_exec(), selected_tracking_boundbox(), stabilize_2d_add_exec(), stabilize_2d_remove_exec(), stabilize_2d_rotation_add_exec(), stabilize_2d_rotation_remove_exec(), stabilize_2d_rotation_select_exec(), stabilize_2d_select_exec(), track_copy_color_exec(), track_count_markers(), track_init_markers(), tracking_has_selection(), and tracking_marker_check_slide().

◆ BKE_tracking_get_camera_object_matrix()

void BKE_tracking_get_camera_object_matrix ( Object camera_object,
float  mat[4][4] 
)

◆ BKE_tracking_get_pattern_imbuf()

ImBuf* BKE_tracking_get_pattern_imbuf ( ImBuf ibuf,
MovieTrackingTrack track,
MovieTrackingMarker marker,
bool  anchored,
bool  disable_channels 
)

◆ BKE_tracking_get_projection_matrix()

void BKE_tracking_get_projection_matrix ( MovieTracking tracking,
MovieTrackingObject object,
int  framenr,
int  winx,
int  winy,
float  mat[4][4] 
)

◆ BKE_tracking_get_rna_path_for_plane_track()

void BKE_tracking_get_rna_path_for_plane_track ( const struct MovieTracking tracking,
const struct MovieTrackingPlaneTrack plane_track,
char *  rna_path,
size_t  rna_path_len 
)

◆ BKE_tracking_get_rna_path_for_track()

void BKE_tracking_get_rna_path_for_track ( const struct MovieTracking tracking,
const struct MovieTrackingTrack track,
char *  rna_path,
size_t  rna_path_len 
)

◆ BKE_tracking_get_rna_path_prefix_for_plane_track()

void BKE_tracking_get_rna_path_prefix_for_plane_track ( const struct MovieTracking tracking,
const struct MovieTrackingPlaneTrack plane_track,
char *  rna_path,
size_t  rna_path_len 
)

◆ BKE_tracking_get_rna_path_prefix_for_track()

void BKE_tracking_get_rna_path_prefix_for_track ( const struct MovieTracking tracking,
const struct MovieTrackingTrack track,
char *  rna_path,
size_t  rna_path_len 
)

◆ BKE_tracking_get_search_imbuf()

ImBuf* BKE_tracking_get_search_imbuf ( ImBuf ibuf,
MovieTrackingTrack track,
MovieTrackingMarker marker,
bool  anchored,
bool  disable_channels 
)

◆ BKE_tracking_marker_clamp()

void BKE_tracking_marker_clamp ( MovieTrackingMarker marker,
int  event 
)

◆ BKE_tracking_marker_delete()

void BKE_tracking_marker_delete ( MovieTrackingTrack track,
int  framenr 
)

◆ BKE_tracking_marker_ensure()

MovieTrackingMarker* BKE_tracking_marker_ensure ( MovieTrackingTrack track,
int  framenr 
)

◆ BKE_tracking_marker_get()

MovieTrackingMarker* BKE_tracking_marker_get ( MovieTrackingTrack track,
int  framenr 
)

Get marker closest to the given frame number.

If there is maker with exact frame number it returned. Otherwise, marker with highest frame number but lower than the requested frame is returned if such marker exists. Otherwise, the marker with lowest frame number greater than the requested frame number is returned.

This function has complexity of O(log number_of_markers).

Definition at line 1523 of file tracking.c.

References BLI_assert, clamp_i(), MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, and NULL.

Referenced by annotation_session_initdata(), autotrack_context_init_markers(), autotrack_is_track_trackable(), BKE_movieclip_update_scopes(), BKE_tracking_marker_ensure(), BKE_tracking_marker_get_exact(), BKE_tracking_marker_get_interpolated(), BKE_tracking_marker_get_subframe_position(), BKE_tracking_plane_track_add(), BKE_tracking_track_path_clear(), box_select_exec(), blender::compositor::KeyingScreenOperation::buildVoronoiTriangulation(), circle_select_exec(), clip_draw_grease_pencil(), do_lasso_select_marker(), draw_tracking_tracks(), ED_clip_select_all(), find_nearest_track(), blender::compositor::TrackPositionOperation::initExecution(), mask_parent_set_exec(), recalcData_tracking(), refine_marker_exec(), search_closest_marker_index(), select_grouped_exec(), selected_tracking_boundbox(), slide_marker_customdata(), blender::TEST_F(), track_count_markers(), track_mouse_area(), tracking_context_get_reference_ibuf(), tracking_get_keyframed_marker(), tracking_has_selection(), tracking_marker_check_slide(), and uiTemplateMarker().

◆ BKE_tracking_marker_get_exact()

MovieTrackingMarker* BKE_tracking_marker_get_exact ( MovieTrackingTrack track,
int  framenr 
)

◆ BKE_tracking_marker_get_interpolated()

bool BKE_tracking_marker_get_interpolated ( struct MovieTrackingTrack track,
const int  framenr,
struct MovieTrackingMarker r_marker 
)

◆ BKE_tracking_marker_get_subframe_position()

void BKE_tracking_marker_get_subframe_position ( MovieTrackingTrack track,
float  framenr,
float  pos[2] 
)

◆ BKE_tracking_marker_insert()

MovieTrackingMarker* BKE_tracking_marker_insert ( MovieTrackingTrack track,
MovieTrackingMarker marker 
)

◆ BKE_tracking_marker_pattern_minmax()

void BKE_tracking_marker_pattern_minmax ( const MovieTrackingMarker marker,
float  min[2],
float  max[2] 
)

◆ BKE_tracking_max_distortion_delta_across_bound()

void BKE_tracking_max_distortion_delta_across_bound ( MovieTracking tracking,
int  image_width,
int  image_height,
rcti rect,
bool  undistort,
float  delta[2] 
)

◆ BKE_tracking_object_add()

MovieTrackingObject* BKE_tracking_object_add ( MovieTracking tracking,
const char *  name 
)

◆ BKE_tracking_object_delete()

bool BKE_tracking_object_delete ( MovieTracking tracking,
MovieTrackingObject object 
)

◆ BKE_tracking_object_get_active()

MovieTrackingObject* BKE_tracking_object_get_active ( MovieTracking tracking)

◆ BKE_tracking_object_get_camera()

MovieTrackingObject* BKE_tracking_object_get_camera ( MovieTracking tracking)

◆ BKE_tracking_object_get_named()

MovieTrackingObject* BKE_tracking_object_get_named ( MovieTracking tracking,
const char *  name 
)

◆ BKE_tracking_object_get_plane_tracks()

ListBase* BKE_tracking_object_get_plane_tracks ( MovieTracking tracking,
MovieTrackingObject object 
)

◆ BKE_tracking_object_get_reconstruction()

MovieTrackingReconstruction* BKE_tracking_object_get_reconstruction ( MovieTracking tracking,
MovieTrackingObject object 
)

◆ BKE_tracking_object_get_tracks()

ListBase* BKE_tracking_object_get_tracks ( MovieTracking tracking,
MovieTrackingObject object 
)

◆ BKE_tracking_object_unique_name()

void BKE_tracking_object_unique_name ( MovieTracking tracking,
MovieTrackingObject object 
)

◆ BKE_tracking_plane_marker_delete()

void BKE_tracking_plane_marker_delete ( MovieTrackingPlaneTrack plane_track,
int  framenr 
)

◆ BKE_tracking_plane_marker_ensure()

MovieTrackingPlaneMarker* BKE_tracking_plane_marker_ensure ( MovieTrackingPlaneTrack plane_track,
int  framenr 
)

◆ BKE_tracking_plane_marker_get()

MovieTrackingPlaneMarker* BKE_tracking_plane_marker_get ( MovieTrackingPlaneTrack plane_track,
int  framenr 
)

◆ BKE_tracking_plane_marker_get_exact()

MovieTrackingPlaneMarker* BKE_tracking_plane_marker_get_exact ( MovieTrackingPlaneTrack plane_track,
int  framenr 
)

◆ BKE_tracking_plane_marker_get_subframe_corners()

void BKE_tracking_plane_marker_get_subframe_corners ( MovieTrackingPlaneTrack plane_track,
float  framenr,
float  corners[4][2] 
)

◆ BKE_tracking_plane_marker_insert()

MovieTrackingPlaneMarker* BKE_tracking_plane_marker_insert ( MovieTrackingPlaneTrack plane_track,
MovieTrackingPlaneMarker plane_marker 
)

◆ BKE_tracking_plane_track_add()

MovieTrackingPlaneTrack* BKE_tracking_plane_track_add ( MovieTracking tracking,
ListBase plane_tracks_base,
ListBase tracks,
int  framenr 
)

◆ BKE_tracking_plane_track_free()

void BKE_tracking_plane_track_free ( MovieTrackingPlaneTrack plane_track)

◆ BKE_tracking_plane_track_get_active()

MovieTrackingPlaneTrack* BKE_tracking_plane_track_get_active ( struct MovieTracking tracking)

◆ BKE_tracking_plane_track_get_named()

MovieTrackingPlaneTrack* BKE_tracking_plane_track_get_named ( MovieTracking tracking,
MovieTrackingObject object,
const char *  name 
)

◆ BKE_tracking_plane_track_has_point_track()

bool BKE_tracking_plane_track_has_point_track ( MovieTrackingPlaneTrack plane_track,
MovieTrackingTrack track 
)

◆ BKE_tracking_plane_track_remove_point_track()

bool BKE_tracking_plane_track_remove_point_track ( MovieTrackingPlaneTrack plane_track,
MovieTrackingTrack track 
)

◆ BKE_tracking_plane_track_replace_point_track()

void BKE_tracking_plane_track_replace_point_track ( MovieTrackingPlaneTrack plane_track,
MovieTrackingTrack old_track,
MovieTrackingTrack new_track 
)

◆ BKE_tracking_plane_track_unique_name()

void BKE_tracking_plane_track_unique_name ( ListBase plane_tracks_base,
MovieTrackingPlaneTrack plane_track 
)

◆ BKE_tracking_plane_tracks_deselect_all()

void BKE_tracking_plane_tracks_deselect_all ( ListBase plane_tracks_base)

Definition at line 1837 of file tracking.c.

References LISTBASE_FOREACH, and SELECT.

Referenced by add_marker(), and average_tracks_exec().

◆ BKE_tracking_plane_tracks_remove_point_track()

void BKE_tracking_plane_tracks_remove_point_track ( MovieTracking tracking,
MovieTrackingTrack track 
)

◆ BKE_tracking_plane_tracks_replace_point_track()

void BKE_tracking_plane_tracks_replace_point_track ( MovieTracking tracking,
MovieTrackingTrack old_track,
MovieTrackingTrack new_track 
)

◆ BKE_tracking_sample_pattern()

ImBuf* BKE_tracking_sample_pattern ( int  frame_width,
int  frame_height,
ImBuf search_ibuf,
MovieTrackingTrack track,
MovieTrackingMarker marker,
bool  from_anchor,
bool  use_mask,
int  num_samples_x,
int  num_samples_y,
float  pos[2] 
)

◆ BKE_tracking_selected_tracks_in_active_object()

MovieTrackingTrack** BKE_tracking_selected_tracks_in_active_object ( MovieTracking tracking,
int *  r_num_tracks 
)

◆ BKE_tracking_settings_init()

void BKE_tracking_settings_init ( MovieTracking tracking)

◆ BKE_tracking_track_add()

MovieTrackingTrack* BKE_tracking_track_add ( MovieTracking tracking,
ListBase tracksbase,
float  x,
float  y,
int  framenr,
int  width,
int  height 
)

◆ BKE_tracking_track_add_empty()

MovieTrackingTrack* BKE_tracking_track_add_empty ( MovieTracking tracking,
ListBase tracks_list 
)

◆ BKE_tracking_track_deselect()

void BKE_tracking_track_deselect ( MovieTrackingTrack track,
int  area 
)

◆ BKE_tracking_track_duplicate()

MovieTrackingTrack* BKE_tracking_track_duplicate ( MovieTrackingTrack track)

◆ BKE_tracking_track_first_last_frame_get()

void BKE_tracking_track_first_last_frame_get ( const MovieTrackingTrack track,
int *  r_first_frame,
int *  r_last_frame 
)

◆ BKE_tracking_track_flag_clear()

void BKE_tracking_track_flag_clear ( MovieTrackingTrack track,
int  area,
int  flag 
)

◆ BKE_tracking_track_flag_set()

void BKE_tracking_track_flag_set ( MovieTrackingTrack track,
int  area,
int  flag 
)

◆ BKE_tracking_track_free()

void BKE_tracking_track_free ( MovieTrackingTrack track)

◆ BKE_tracking_track_get_active()

MovieTrackingTrack* BKE_tracking_track_get_active ( MovieTracking tracking)

◆ BKE_tracking_track_get_indexed()

MovieTrackingTrack* BKE_tracking_track_get_indexed ( MovieTracking tracking,
int  tracknr,
ListBase **  r_tracksbase 
)

◆ BKE_tracking_track_get_mask()

float* BKE_tracking_track_get_mask ( int  frame_width,
int  frame_height,
MovieTrackingTrack track,
MovieTrackingMarker marker 
)

◆ BKE_tracking_track_get_named()

MovieTrackingTrack* BKE_tracking_track_get_named ( MovieTracking tracking,
MovieTrackingObject object,
const char *  name 
)

◆ BKE_tracking_track_get_weight_for_marker()

float BKE_tracking_track_get_weight_for_marker ( MovieClip clip,
MovieTrackingTrack track,
MovieTrackingMarker marker 
)

◆ BKE_tracking_track_has_enabled_marker_at_frame()

bool BKE_tracking_track_has_enabled_marker_at_frame ( MovieTrackingTrack track,
int  framenr 
)

◆ BKE_tracking_track_has_marker_at_frame()

bool BKE_tracking_track_has_marker_at_frame ( MovieTrackingTrack track,
int  framenr 
)

Definition at line 796 of file tracking.c.

References BKE_tracking_marker_get_exact(), and NULL.

Referenced by tracking_marker_insert_disabled().

◆ BKE_tracking_track_path_clear()

void BKE_tracking_track_path_clear ( MovieTrackingTrack track,
int  ref_frame,
int  action 
)

◆ BKE_tracking_track_select()

void BKE_tracking_track_select ( ListBase tracksbase,
MovieTrackingTrack track,
int  area,
bool  extend 
)

◆ BKE_tracking_track_unique_name()

void BKE_tracking_track_unique_name ( ListBase tracksbase,
MovieTrackingTrack track 
)

◆ BKE_tracking_tracks_average()

void BKE_tracking_tracks_average ( MovieTrackingTrack dst_track,
MovieTrackingTrack **  src_tracks,
const int  num_src_tracks 
)

Definition at line 1107 of file tracking.c.

References tracking_average_markers(), and tracking_average_tracks().

Referenced by average_tracks_exec().

◆ BKE_tracking_tracks_deselect_all()

void BKE_tracking_tracks_deselect_all ( ListBase tracksbase)

◆ BKE_tracking_tracks_first_last_frame_minmax()

void BKE_tracking_tracks_first_last_frame_minmax ( MovieTrackingTrack **  tracks,
const int  num_tracks,
int *  r_first_frame,
int *  r_last_frame 
)

Definition at line 683 of file tracking.c.

References BKE_tracking_track_first_last_frame_get(), max_ii(), min_ii(), and tracks.

Referenced by tracking_average_markers().

◆ BKE_tracking_tracks_join()

void BKE_tracking_tracks_join ( MovieTracking tracking,
MovieTrackingTrack dst_track,
MovieTrackingTrack src_track 
)

◆ BKE_tracking_undistort_frame()

ImBuf* BKE_tracking_undistort_frame ( MovieTracking tracking,
ImBuf ibuf,
int  calibration_width,
int  calibration_height,
float  overscan 
)

◆ BKE_tracking_undistort_v2()

void BKE_tracking_undistort_v2 ( MovieTracking tracking,
int  image_width,
int  image_height,
const float  co[2],
float  r_co[2] 
)

◆ channels_alpha_inverse_sort()

static int channels_alpha_inverse_sort ( const void *  a,
const void *  b 
)
static

Definition at line 3017 of file tracking.c.

References Freestyle::a, and channels_alpha_sort().

Referenced by tracking_dopesheet_channels_sort().

◆ channels_alpha_sort()

static int channels_alpha_sort ( const void *  a,
const void *  b 
)
static

◆ channels_average_error_inverse_sort()

static int channels_average_error_inverse_sort ( const void *  a,
const void *  b 
)
static

◆ channels_average_error_sort()

static int channels_average_error_sort ( const void *  a,
const void *  b 
)
static

◆ channels_longest_segment_inverse_sort()

static int channels_longest_segment_inverse_sort ( const void *  a,
const void *  b 
)
static

Definition at line 3035 of file tracking.c.

References Freestyle::a, and channels_longest_segment_sort().

Referenced by tracking_dopesheet_channels_sort().

◆ channels_longest_segment_sort()

static int channels_longest_segment_sort ( const void *  a,
const void *  b 
)
static

◆ channels_total_track_inverse_sort()

static int channels_total_track_inverse_sort ( const void *  a,
const void *  b 
)
static

Definition at line 3026 of file tracking.c.

References Freestyle::a, and channels_total_track_sort().

Referenced by tracking_dopesheet_channels_sort().

◆ channels_total_track_sort()

static int channels_total_track_sort ( const void *  a,
const void *  b 
)
static

◆ coverage_from_count()

static int coverage_from_count ( int  count)
static

◆ disable_imbuf_channels()

static void disable_imbuf_channels ( ImBuf ibuf,
MovieTrackingTrack track,
bool  grayscale 
)
static

◆ get_usable_marker_for_interpolation()

static const MovieTrackingMarker* get_usable_marker_for_interpolation ( struct MovieTrackingTrack track,
const MovieTrackingMarker anchor_marker,
const int  direction 
)
static

◆ multiply_marker()

static void multiply_marker ( MovieTrackingMarker marker,
const float  multiplier 
)
static

◆ reconstructed_camera_index_get()

static int reconstructed_camera_index_get ( MovieTrackingReconstruction reconstruction,
int  framenr,
bool  nearest 
)
static

◆ reconstructed_camera_scale_set()

static void reconstructed_camera_scale_set ( MovieTrackingObject object,
float  mat[4][4] 
)
static

◆ track_mask_gpencil_layer_get()

static bGPDlayer* track_mask_gpencil_layer_get ( MovieTrackingTrack track)
static

◆ track_mask_gpencil_layer_rasterize()

static void track_mask_gpencil_layer_rasterize ( int  frame_width,
int  frame_height,
const float  region_min[2],
bGPDlayer layer,
float mask,
int  mask_width,
int  mask_height 
)
static

◆ track_mask_set_pixel_cb()

static void track_mask_set_pixel_cb ( int  x,
int  x_end,
int  y,
void *  user_data 
)
static

Definition at line 1229 of file tracking.c.

References data, user_data, x, and y.

Referenced by track_mask_gpencil_layer_rasterize().

◆ tracking_average_markers()

static void tracking_average_markers ( MovieTrackingTrack dst_track,
MovieTrackingTrack **  src_tracks,
const int  num_src_tracks 
)
static

◆ tracking_average_tracks()

static void tracking_average_tracks ( MovieTrackingTrack dst_track,
MovieTrackingTrack **  src_tracks,
const int  num_src_tracks 
)
static

Definition at line 1095 of file tracking.c.

References add_v2_v2(), mul_v2_fl(), MovieTrackingTrack::offset, and zero_v2().

Referenced by BKE_tracking_tracks_average().

◆ tracking_dopesheet_calc_coverage()

static void tracking_dopesheet_calc_coverage ( MovieTracking tracking)
static

◆ tracking_dopesheet_channels_calc()

static void tracking_dopesheet_channels_calc ( MovieTracking tracking)
static

◆ tracking_dopesheet_channels_segments_calc()

static void tracking_dopesheet_channels_segments_calc ( MovieTrackingDopesheetChannel channel)
static

◆ tracking_dopesheet_channels_sort()

static void tracking_dopesheet_channels_sort ( MovieTracking tracking,
int  sort_method,
bool  inverse 
)
static

◆ tracking_dopesheet_free()

static void tracking_dopesheet_free ( MovieTrackingDopesheet dopesheet)
static

◆ tracking_object_copy()

static void tracking_object_copy ( MovieTrackingObject object_dst,
const MovieTrackingObject object_src,
GHash tracks_mapping,
const int  flag 
)
static

◆ tracking_object_free()

static void tracking_object_free ( MovieTrackingObject object)
static

◆ tracking_objects_copy()

static void tracking_objects_copy ( ListBase objects_dst,
const ListBase objects_src,
GHash tracks_mapping,
const int  flag 
)
static

◆ tracking_objects_free()

static void tracking_objects_free ( ListBase objects)
static

Definition at line 125 of file tracking.c.

References BLI_freelistN(), LISTBASE_FOREACH, and tracking_object_free().

Referenced by BKE_tracking_free().

◆ tracking_plane_tracks_copy()

static void tracking_plane_tracks_copy ( ListBase plane_tracks_list_dst,
const ListBase plane_tracks_list_src,
GHash tracks_mapping,
const int  flag 
)
static

◆ tracking_plane_tracks_free()

static void tracking_plane_tracks_free ( ListBase plane_tracks)
static

◆ tracking_reconstruction_copy()

static void tracking_reconstruction_copy ( MovieTrackingReconstruction reconstruction_dst,
const MovieTrackingReconstruction reconstruction_src,
const int   UNUSEDflag 
)
static

Definition at line 233 of file tracking.c.

References MovieTrackingReconstruction::cameras, and MEM_dupallocN.

Referenced by BKE_tracking_copy(), and tracking_object_copy().

◆ tracking_reconstruction_free()

static void tracking_reconstruction_free ( MovieTrackingReconstruction reconstruction)
static

Definition at line 105 of file tracking.c.

References MEM_freeN, and reconstruction.

Referenced by BKE_tracking_free(), and tracking_object_free().

◆ tracking_stabilization_copy()

static void tracking_stabilization_copy ( MovieTrackingStabilization stabilization_dst,
const MovieTrackingStabilization stabilization_src,
const int   UNUSEDflag 
)
static

Definition at line 244 of file tracking.c.

Referenced by BKE_tracking_copy().

◆ tracking_track_get_mask_for_region()

float* tracking_track_get_mask_for_region ( int  frame_width,
int  frame_height,
const float  region_min[2],
const float  region_max[2],
MovieTrackingTrack track 
)

◆ tracking_tracks_copy()

static void tracking_tracks_copy ( ListBase tracks_dst,
const ListBase tracks_src,
GHash tracks_mapping,
const int  flag 
)
static

◆ tracking_tracks_free()

static void tracking_tracks_free ( ListBase tracks)
static

Variable Documentation

◆ 

struct { ... } tracking_clipboard

◆ tracks

ListBase tracks