[Bf-blender-cvs] [6b7ead4] master: Libmv: Update to the latest upstream version

Sergey Sharybin noreply at git.blender.org
Wed Dec 30 13:01:32 CET 2015


Commit: 6b7ead4fe808d6442fe7ae9b7f4ec38de8f35ee0
Author: Sergey Sharybin
Date:   Wed Dec 30 16:51:21 2015 +0500
Branches: master
https://developer.blender.org/rB6b7ead4fe808d6442fe7ae9b7f4ec38de8f35ee0

Libmv: Update to the latest upstream version

Main reason is to bring up new Glog which should have MSVC 2015
support.

===================================================================

M	extern/libmv/ChangeLog
M	extern/libmv/SConscript
M	extern/libmv/libmv/multiview/homography.cc
M	extern/libmv/libmv/simple_pipeline/camera_intrinsics.h
M	extern/libmv/libmv/simple_pipeline/modal_solver.cc
M	extern/libmv/third_party/glog/README.libmv
M	extern/libmv/third_party/glog/src/base/mutex.h
M	extern/libmv/third_party/glog/src/config_freebsd.h
M	extern/libmv/third_party/glog/src/config_hurd.h
M	extern/libmv/third_party/glog/src/config_linux.h
M	extern/libmv/third_party/glog/src/config_mac.h
M	extern/libmv/third_party/glog/src/demangle.h
M	extern/libmv/third_party/glog/src/glog/logging.h
M	extern/libmv/third_party/glog/src/glog/raw_logging.h
M	extern/libmv/third_party/glog/src/logging.cc
M	extern/libmv/third_party/glog/src/signalhandler.cc
M	extern/libmv/third_party/glog/src/utilities.cc
M	extern/libmv/third_party/glog/src/vlog_is_on.cc
M	extern/libmv/third_party/glog/src/windows/config.h
M	extern/libmv/third_party/glog/src/windows/glog/logging.h
M	extern/libmv/third_party/glog/src/windows/port.cc
M	extern/libmv/third_party/glog/src/windows/port.h
M	extern/libmv/third_party/glog/src/windows/preprocess.sh

===================================================================

diff --git a/extern/libmv/ChangeLog b/extern/libmv/ChangeLog
index 0bb340b..39ec478 100644
--- a/extern/libmv/ChangeLog
+++ b/extern/libmv/ChangeLog
@@ -1,3 +1,85 @@
+commit d249280fdf7c937fd6ebbc465508843a70aafd4c
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Dec 30 16:59:28 2015 +0500
+
+    Tweaks to Glog to support building on all platforms
+    
+    This makes it possible to compile Libmv on all platforms,
+    amount of hacks is lower, which could bring some warnings
+    up, but those are better be addressed via upstream which
+    is now rather active.
+
+commit 86c57750ddb857643fb5dd2c83b4953da83dd57d
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Dec 30 16:15:47 2015 +0500
+
+    Enable explicit Schur complement matrix by default
+    
+    Gives up to 2x speed up of camera solving process in average scene.
+    In the really huge one it might be slower, but that we need to investigate.
+
+commit d6c52a70b5a0664b7c74bda68f59a895fe8aa235
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Dec 30 16:13:03 2015 +0500
+
+    Fix one frame memory leak when tracking last frame
+
+commit 6e2ac41d25d5923b2a62c96d27d919a36eff9b48
+Author: Brecht Van Lommel <brechtvanlommel at gmail.com>
+Date:   Wed Dec 30 16:11:24 2015 +0500
+
+    Motion tracking not workig with Xcode 7 on OS X.
+    
+    Caused by use of the uninitialized shape_ variable in Resize().
+
+commit fc72ae06fb4ae559ac37d14d1b34d6669505cc86
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Dec 30 15:56:40 2015 +0500
+
+    Update GLog to latest upstream
+    
+    Should fix issues building with MSVC2015.
+
+commit d4b2d15bd3d195074b074331354de96a1b51042f
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Dec 30 16:01:10 2015 +0500
+
+    Fix wrong README file reference
+
+commit 2b4aa0b7720cae9a408284834559bea9960157ee
+Author: Keir Mierle <mierle at gmail.com>
+Date:   Mon May 11 02:16:53 2015 -0700
+
+    Make README more informative for GitHub viewers
+    
+    Reviewers: sergey
+    
+    Reviewed By: sergey
+    
+    Differential Revision: https://developer.blender.org/D1295
+
+commit 514e4491aea655d20be047ed87f002fb7854d5c9
+Author: Keir Mierle <mierle at gmail.com>
+Date:   Mon May 11 01:54:09 2015 -0700
+
+    Simplify the modal solver Ceres cost function
+    
+    Fix test by flipping the quaternion.
+    
+    Reviewers: sergey
+    
+    Reviewed By: sergey
+    
+    Projects: #libmv
+    
+    Differential Revision: https://developer.blender.org/D756
+
+commit e55fafd31f7d53d42af7c6b7df2eebe3c2568da9
+Author: Sergey Sharybin <sergey.vfx at gmail.com>
+Date:   Wed Dec 31 19:05:51 2014 +0500
+
+    Synchronize MSVC compilation fixes from Blender
+
 commit 7d6020d2ec42c6cb2749bc891186b4880d26d40b
 Author: Sergey Sharybin <sergey.vfx at gmail.com>
 Date:   Wed Dec 31 15:32:07 2014 +0500
@@ -601,107 +683,3 @@ Date:   Wed Mar 26 17:44:09 2014 +0600
     Fix bad memory write in BA code when having zero-weighted tracks
     
     Issue was really stupid and caused by the wrong vector initialization.
-
-commit d14a372dfe09c7339f267c4904a541fbe2efec43
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Fri Mar 21 16:02:41 2014 +0600
-
-    Attempt to fix compilation error with msvc2013
-
-commit 933531580b4dc4b65601d785cedc16506d615d7b
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Thu Mar 20 23:07:34 2014 +0600
-
-    Compilation fixes for MinGW
-    
-    Many thanks to Antony Riakiotakis for the patch!
-
-commit f1aefcbf58fe04ea2967434f39f703bb486777c8
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Thu Feb 27 16:21:19 2014 +0600
-
-    Implement separate BA step for tracks which have constant zero weight
-    
-    This is needed to minimize their reprojection error over the footage.
-    Without this extra step positions of such tracks were calculated by
-    algebraic intersection code only, which doesn't give best precision.
-
-commit bcf7f9470b2ea33cf89a31a72037ec03be631637
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Thu Feb 27 14:16:42 2014 +0600
-
-    Avoid zero-sized problem when doing euclidean intersection
-    
-    Zero-sized problem might occur when intersecting track with
-    constant zero weight. For such tracks we'll just use result
-    of algebraic intersection.
-    
-    TODO: We probably need to have a separate BA step to adjust
-    positions of tracks with constant zero weight.
-
-commit f884bb20a93189b8210639f3de939c64177d66b3
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Wed Feb 26 18:00:40 2014 +0600
-
-    Ignore zero weighted markers in keyframe selection
-    
-    It doesn't make sense to use zero-weighted tracks as a correspondences
-    in keyframe selection.
-    
-    Such tracks are not guaranteed to be tracked accurately because their
-    purpose is to add reference points in 3D space without affecting the
-    solution.
-
-commit 74db5175cdbcabe673b82eef59c88fb7f342c43f
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Wed Feb 26 13:23:02 2014 +0600
-
-    Tweaks to make bundling into Blender warning-less
-    
-    Mainly issue i caused by conflicts in include directories,
-    so glog used to include config.h from gflags. It might be
-    fixed by splitting gflags/glog from Libmv in Blender build
-    system but that's not something fun to work on. Fixed by
-    making include directories  bit more explicit.
-    
-    Also solved no-previous-prototype warnings.
-
-commit bc4bc66af0115069562b79e837ccf4fd95c8f97e
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Fri Feb 21 14:55:13 2014 +0600
-
-    Raise epsilon used for model solver test
-    
-    It was too much small leading to false failure triggering
-    caused simply by precision issues.
-
-commit bf750590a6af4af3622c01fd1004c44da60484a7
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Tue Feb 18 23:35:52 2014 +0600
-
-    Made it possible to link against Ceres installed on the system
-    
-    Main purpose of this is to get away from bundled Ceres library
-    which is not so trivial to re-bundle and takes some to do this
-    (not talking about CMake options conflicts and pollution).
-    
-    Enabled by setting WITH_SYSTEM_CERES=ON. Default paths to search
-    Ceres library:
-    
-    - /usr/local
-    - /sw
-    - /opt/local
-    - /opt/csw
-    - /opt/lib/ceres
-    
-    You might also specify Ceres root directory using CERES_ROOT_DIR
-    variable (both CMake and environment variables are supported).
-    
-    If your Ceres is build statically, you're to control all additional
-    libraries needed to link against using CMAKE_EXE_LINKER_FLAGS.
-
-commit c9156fbf80c86853806844b754b1e48f45c5ec11
-Author: Sergey Sharybin <sergey.vfx at gmail.com>
-Date:   Tue Feb 18 19:38:22 2014 +0600
-
-    Remove .orig file which was added by accident
diff --git a/extern/libmv/SConscript b/extern/libmv/SConscript
index 251e583..c177f74 100644
--- a/extern/libmv/SConscript
+++ b/extern/libmv/SConscript
@@ -1,5 +1,3 @@
-#!/usr/bin/python
-
 # NOTE: This file is automatically generated by bundle.sh script
 #       If you're doing changes in this file, please update template
 #       in that script too
diff --git a/extern/libmv/libmv/multiview/homography.cc b/extern/libmv/libmv/multiview/homography.cc
index 346acb3..ce533a3 100644
--- a/extern/libmv/libmv/multiview/homography.cc
+++ b/extern/libmv/libmv/multiview/homography.cc
@@ -179,12 +179,8 @@ void GetNormalizedPoints(const Mat &original_points,
 class HomographySymmetricGeometricCostFunctor {
  public:
   HomographySymmetricGeometricCostFunctor(const Vec2 &x,
-                                          const Vec2 &y) {
-    xx_ = x(0);
-    xy_ = x(1);
-    yx_ = y(0);
-    yy_ = y(1);
-  }
+                                          const Vec2 &y)
+      : x_(x), y_(y) { }
 
   template<typename T>
   bool operator()(const T *homography_parameters, T *residuals) const {
@@ -193,8 +189,8 @@ class HomographySymmetricGeometricCostFunctor {
 
     Mat3 H(homography_parameters);
 
-    Vec3 x(T(xx_), T(xy_), T(1.0));
-    Vec3 y(T(yx_), T(yy_), T(1.0));
+    Vec3 x(T(x_(0)), T(x_(1)), T(1.0));
+    Vec3 y(T(y_(0)), T(y_(1)), T(1.0));
 
     Vec3 H_x = H * x;
     Vec3 Hinv_y = H.inverse() * y;
@@ -203,19 +199,18 @@ class HomographySymmetricGeometricCostFunctor {
     Hinv_y /= Hinv_y(2);
 
     // This is a forward error.
-    residuals[0] = H_x(0) - T(yx_);
-    residuals[1] = H_x(1) - T(yy_);
+    residuals[0] = H_x(0) - T(y_(0));
+    residuals[1] = H_x(1) - T(y_(1));
 
     // This is a backward error.
-    residuals[2] = Hinv_y(0) - T(xx_);
-    residuals[3] = Hinv_y(1) - T(xy_);
+    residuals[2] = Hinv_y(0) - T(x_(0));
+    residuals[3] = Hinv_y(1) - T(x_(1));
 
     return true;
   }
 
-  // TODO(sergey): Think of better naming.
-  double xx_, xy_;
-  double yx_, yy_;
+  const Vec2 x_;
+  const Vec2 y_;
 };
 
 // Termination checking callback used for homography estimation.
diff --git a/extern/libmv/libmv/simple_pipeline/camera_intrinsics.h b/extern/libmv/libmv/simple_pipeline/camera_intrinsics.h
index 1a8bf7a..6a3ade8 100644
--- a/extern/libmv/libmv/simple_pipeline/camera_intrinsics.h
+++ b/extern/libmv/libmv/simple_pipeline/camera_intrinsics.h
@@ -197,7 +197,7 @@ class CameraIntrinsics {
                                 double *normalized_x,
                                 double *normalized_y) const = 0;
 
-  // Distort an image using the current camera intrinsics
+  // Distort an image using the current camera instrinsics
   //
   // The distorted image is computed in output_buffer using samples from
   // input_buffer. Both buffers should be width x height x channels sized.
@@ -226,7 +226,7 @@ class CameraIntrinsics {
                      int channels,
                      PixelType *output_buffer);
 
-  // Undistort an image using the current camera intrinsics
+  // Undistort an image using the current camera instrinsics
   //
   // The undistorted image is computed in output_buffer using samples from
   // input_buffer. Both buffers should be width x height x channels sized.
diff --git a/extern/libmv/libmv/simple_pipeline/modal_solver.cc b/extern/libmv/libmv/simple_pipeline/modal_solver.cc
index caccce6

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list