Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/tracking.c
| Show First 20 Lines • Show All 1,519 Lines • ▼ Show 20 Lines | |||||
| * | * | ||||
| * This function has complexity of `O(log number_of_markers)`. | * This function has complexity of `O(log number_of_markers)`. | ||||
| */ | */ | ||||
| MovieTrackingMarker *BKE_tracking_marker_get(MovieTrackingTrack *track, int framenr) | MovieTrackingMarker *BKE_tracking_marker_get(MovieTrackingTrack *track, int framenr) | ||||
| { | { | ||||
| const int num_markers = track->markersnr; | const int num_markers = track->markersnr; | ||||
| if (num_markers == 0) { | if (num_markers == 0) { | ||||
| BLI_assert(!"Detected degenerated track, should never happen."); | BLI_assert_msg(0, "Detected degenerated track, should never happen."); | ||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| int left_boundary = 0; | int left_boundary = 0; | ||||
| int right_boundary = num_markers; | int right_boundary = num_markers; | ||||
| while (left_boundary < right_boundary) { | while (left_boundary < right_boundary) { | ||||
| const int median_index = (left_boundary + right_boundary) / 2; | const int median_index = (left_boundary + right_boundary) / 2; | ||||
| MovieTrackingMarker *marker = &track->markers[median_index]; | MovieTrackingMarker *marker = &track->markers[median_index]; | ||||
| ▲ Show 20 Lines • Show All 1,947 Lines • Show Last 20 Lines | |||||