| 12090 | int sam3_tracker_frame_index(const sam3_tracker& tracker) { return tracker.frame_index; } |
| 12091 | |
| 12092 | void sam3_tracker_reset(sam3_tracker& tracker) { |
| 12093 | tracker.frame_index = 0; |
| 12094 | tracker.next_inst_id = 1; |
| 12095 | tracker.masklets.clear(); |
| 12096 | tracker.pending.clear(); |
| 12097 | tracker.mem_banks.clear(); |
| 12098 | tracker.ptr_banks.clear(); |
| 12099 | for (auto* b : tracker.owned_buffers) |
| 12100 | if (b) ggml_backend_buffer_free(b); |
| 12101 | tracker.owned_buffers.clear(); |
| 12102 | if (tracker.ctx) { |
| 12103 | ggml_free(tracker.ctx); |
| 12104 | tracker.ctx = nullptr; |
| 12105 | } |
| 12106 | if (tracker.buffer) { |
| 12107 | ggml_backend_buffer_free(tracker.buffer); |
| 12108 | tracker.buffer = nullptr; |
| 12109 | } |
| 12110 | } |
| 12111 | |
| 12112 | /***************************************************************************** |
| 12113 | ** Visual-only video tracking |