These trackers are all obsolete now and replaced by the new planar tracker (region_tracker.cc). Deleting all that code is not so simple though. The VS patch suggested should not impact Blender's motion tracking at all; I see no problem committing it.
On Tue, May 14, 2013 at 2:21 PM, Brecht Van Lommel < brechtvanlom...@pandora.be> wrote: > Probably Sergey can judge this best, I don't know how important these > files are to performance. Maybe there's a specific function or line of > code that is causing the issue that we can tweak as well. > > On Tue, May 14, 2013 at 8:42 PM, Jürgen Herrmann <shadow...@me.com> wrote: > > Hi again, > > > > still trying to fix this nasty ICE on VS 2012 64bit and I think I found > a way to work around this issue without losing too much speed. > > > > Instead of turning optimizations off globally for these 2 files I found > a way to reduce optimization level slightly by doing this: > > > > ------------PATCH---------------- > > Index: extern/libmv/libmv/tracking/esm_region_tracker.cc > > =================================================================== > > --- extern/libmv/libmv/tracking/esm_region_tracker.cc (revision 56800) > > +++ extern/libmv/libmv/tracking/esm_region_tracker.cc (working copy) > > @@ -61,6 +61,13 @@ > > 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("sp", 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, > > Index: extern/libmv/libmv/tracking/lmicklt_region_tracker.cc > > =================================================================== > > --- extern/libmv/libmv/tracking/lmicklt_region_tracker.cc > (revision 56800) > > +++ extern/libmv/libmv/tracking/lmicklt_region_tracker.cc (working > copy) > > @@ -52,6 +52,13 @@ > > 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("sp", on) > > +#endif > > + > > // Estimate "reasonable" error by computing autocorrelation for a small > shift. > > static double EstimateReasonableError(const FloatImage &image, > > double x, double y, > > ------------PATCH---------------- > > > > > > -----Ursprüngliche Nachricht----- > > Von: bf-committers-boun...@blender.org [mailto: > bf-committers-boun...@blender.org] Im Auftrag von Jürgen Herrmann > > Gesendet: Dienstag, 14. Mai 2013 16:05 > > An: bf-committers@blender.org > > Betreff: [Bf-committers] [Proposal] LIBMV: Workaround for Internal > Compiler error on VS2012 > > > > Hey ;) > > > > we have a problem, when compiling extern_libmv on VS2012 x64 the > compiler crashes. > > It seems that this inlining problem is known to MS and they are working > on a fix. > > This does not happen on x86 builds though. > > I could not find a real fix for this yet. > > So I'd like to commit the following workaround patch, any suggestions or > comments? > > > > > > ---------------SNIP-------------- > > Index: extern/libmv/libmv/tracking/esm_region_tracker.cc > > =================================================================== > > --- extern/libmv/libmv/tracking/esm_region_tracker.cc (revision 56794) > > +++ extern/libmv/libmv/tracking/esm_region_tracker.cc (working copy) > > @@ -32,7 +32,12 @@ > > #include "libmv/tracking/track_region.h" > > > > namespace libmv { > > - > > +/* 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("", off) > > +#endif > > // TODO(keir): Reduce duplication between here and the other region > trackers. > > static bool RegionIsInBounds(const FloatImage &image1, > > double x, double y, > > Index: extern/libmv/libmv/tracking/lmicklt_region_tracker.cc > > =================================================================== > > --- extern/libmv/libmv/tracking/lmicklt_region_tracker.cc (revision > 56794) > > +++ extern/libmv/libmv/tracking/lmicklt_region_tracker.cc (working > copy) > > @@ -27,7 +27,12 @@ > > #include "libmv/numeric/numeric.h" > > > > namespace libmv { > > - > > +/* 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("", off) > > +#endif > > // TODO(keir): Reduce duplication between here and the other region > trackers. > > static bool RegionIsInBounds(const FloatImage &image1, > > double x, double y, > > ---------------SNIP-------------- > > > > Best regards > > > > /Jürgen > > _______________________________________________ > > Bf-committers mailing list > > Bf-committers@blender.org > > http://lists.blender.org/mailman/listinfo/bf-committers > > > > _______________________________________________ > > Bf-committers mailing list > > Bf-committers@blender.org > > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ > Bf-committers mailing list > Bf-committers@blender.org > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers