[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