diff options
-rw-r--r-- | extern/libmv/libmv/tracking/esm_region_tracker.cc | 7 | ||||
-rw-r--r-- | extern/libmv/libmv/tracking/lmicklt_region_tracker.cc | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/extern/libmv/libmv/tracking/esm_region_tracker.cc b/extern/libmv/libmv/tracking/esm_region_tracker.cc index 1e44012e208..a0c2e4be36e 100644 --- a/extern/libmv/libmv/tracking/esm_region_tracker.cc +++ b/extern/libmv/libmv/tracking/esm_region_tracker.cc @@ -61,6 +61,13 @@ static bool RegionIsInBounds(const FloatImage &image1, return true; } +/* Ugly but necessary fix for compilation on VS2012 +/* this file causes an Internal Compiler Error */ +// TODO: check regularly if ICE is fixed by MS! +#if (_MSC_VER >= 1700 && _WIN64) +#pragma optimize("s", on) +#endif + // This is implemented from "Lukas and Kanade 20 years on: Part 1. Page 42, // figure 14: the Levenberg-Marquardt-Inverse Compositional Algorithm". bool EsmRegionTracker::Track(const FloatImage &image1, diff --git a/extern/libmv/libmv/tracking/lmicklt_region_tracker.cc b/extern/libmv/libmv/tracking/lmicklt_region_tracker.cc index 9e7446c7d08..c9ad364d1d7 100644 --- a/extern/libmv/libmv/tracking/lmicklt_region_tracker.cc +++ b/extern/libmv/libmv/tracking/lmicklt_region_tracker.cc @@ -52,6 +52,13 @@ static bool RegionIsInBounds(const FloatImage &image1, return true; } +/* Ugly but necessary fix for compilation on VS2012 +/* this file causes an Internal Compiler Error */ +// TODO: check regularly if ICE is fixed by MS! +#if (_MSC_VER >= 1700 && _WIN64) +#pragma optimize("s", on) +#endif + // Estimate "reasonable" error by computing autocorrelation for a small shift. static double EstimateReasonableError(const FloatImage &image, double x, double y, |