From 7e93d4eea3097e9e452c7c19953a01b6fab76163 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 6 Apr 2020 14:47:19 +0200 Subject: Tracking: Fix (un)distortion happen in single thread Need to communicate available number of threads to the camera intrinsics implementation, otherwise default value of 1 is used. Must have been single-threaded for a very long time. --- intern/libmv/intern/camera_intrinsics.cc | 2 ++ intern/libmv/intern/camera_intrinsics.h | 1 + 2 files changed, 3 insertions(+) (limited to 'intern/libmv') diff --git a/intern/libmv/intern/camera_intrinsics.cc b/intern/libmv/intern/camera_intrinsics.cc index 4bd6b1270f5..89e3d0d1178 100644 --- a/intern/libmv/intern/camera_intrinsics.cc +++ b/intern/libmv/intern/camera_intrinsics.cc @@ -80,6 +80,8 @@ void libmv_cameraIntrinsicsUpdate( * are not freed. */ + camera_intrinsics->SetThreads(libmv_camera_intrinsics_options->num_threads); + if (camera_intrinsics->focal_length() != focal_length) { camera_intrinsics->SetFocalLength(focal_length, focal_length); } diff --git a/intern/libmv/intern/camera_intrinsics.h b/intern/libmv/intern/camera_intrinsics.h index 9e900892952..40a5826a9c4 100644 --- a/intern/libmv/intern/camera_intrinsics.h +++ b/intern/libmv/intern/camera_intrinsics.h @@ -33,6 +33,7 @@ enum { typedef struct libmv_CameraIntrinsicsOptions { // Common settings of all distortion models. + int num_threads; int distortion_model; int image_width, image_height; double focal_length; -- cgit v1.2.3