forked from blender/blender
557 lines
18 KiB
Plaintext
557 lines
18 KiB
Plaintext
commit f701b2b9fbc641b3252b3513239eeb14477ed5e1
|
|
Author: Lazydodo <github@lazydodo.com>
|
|
Date: Wed Aug 21 10:38:33 2019 -0600
|
|
|
|
Cleanup: Fix build error with MSVC
|
|
|
|
Previously eigens internal include order somehow implicitly provided
|
|
M_PI and friends. The recent eigen version bump broke this implicit
|
|
behaviour, better to be explicit that we need the math defines for MSVC.
|
|
|
|
commit 5b2892f5a3cb6a7a2300f1c32e93d90e22302286
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Mon Mar 15 14:58:13 2021 +0100
|
|
|
|
Cleanup: Spelling in Libmv comments
|
|
|
|
commit 54cdd2fe5cad29df83cb4d3c3ef1e02e06b022a7
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Thu Oct 21 12:09:30 2021 +0200
|
|
|
|
Ensure clang-format is disabled for 3rd party libraries
|
|
|
|
commit 517d51654d6a4cf790a340b657cc0f7dc00f3158
|
|
Author: Campbell Barton <ideasman42@gmail.com>
|
|
Date: Tue Jul 13 21:58:45 2021 +1000
|
|
|
|
Fix x/y mismatch in retract region tracker
|
|
|
|
Correct X/Y mismatch in RetrackRegionTracker.
|
|
|
|
NOTE: This isn't used at the moment.
|
|
|
|
Reviewed By: sergey
|
|
|
|
Ref D11895
|
|
|
|
commit cfcfc803cf599c3bd7bbfa3bac7d5e9c8bca284b
|
|
Author: Jesse Yurkovich <jesse.y@gmail.com>
|
|
Date: Mon Jul 12 21:01:18 2021 -0700
|
|
|
|
Cleanup: Use correct _WIN32/64 defines for MSVC
|
|
|
|
Docs: https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
|
|
|
|
Differential Revision: https://developer.blender.org/D11460
|
|
|
|
commit ad8dfd41958b0e4cb90c7c4e5cc20f93c0832e73
|
|
Author: Campbell Barton <ideasman42@gmail.com>
|
|
Date: Thu Jun 24 15:56:58 2021 +1000
|
|
|
|
Cleanup: comment blocks, trailing space in comments
|
|
|
|
commit 9a6cc5daa6c38f33ce2385fe489c07d97586d452
|
|
Author: Campbell Barton <ideasman42@gmail.com>
|
|
Date: Sun Jun 13 15:11:40 2021 +1000
|
|
|
|
Fix new[]/delete[] mismatch
|
|
|
|
commit 5591d12928df74ed3517b5e61eeda0b64e6ade4f
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Mon Mar 22 15:16:07 2021 +0100
|
|
|
|
Fix T86591: Tracking backwards is slower
|
|
|
|
The root of the issue was caused by the PredictMarkerPosition()
|
|
always returning false when tracking backwards. This was making
|
|
it so tracker always had to run brute initialization, which is
|
|
an expensive operation.
|
|
|
|
From own timing here:
|
|
|
|
- Tracking forward takes 0.667637 seconds
|
|
- Tracking backward used to take 2.591856 seconds
|
|
- Tracking backward now takes 0.827724 seconds
|
|
|
|
This is a very nice speedup, although the tracking backwards is
|
|
still somewhat slower. Will be investigated further as part of
|
|
a regular development.
|
|
|
|
commit ad9546d2319b0db3e1ccc41c4f84899729d1ad1e
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Mon Mar 15 15:48:15 2021 +0100
|
|
|
|
Fix T86262: Tracking backwards fails after gap in track
|
|
|
|
The issue was caused by a prediction algorithm detecting tracking the
|
|
wrong way. Solved by passing tracking direction explicitly, so that
|
|
prediction will always happen correctly regardless of the state of the
|
|
Tracks context.
|
|
|
|
commit 0773a8d6dfe1bf997b8e42d61d136a65b67fde88
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Thu Oct 21 11:18:10 2021 +0200
|
|
|
|
Cleanup: clang-format
|
|
|
|
Is based on Google style which was used in the Libmv project before,
|
|
but is now consistently applied for the sources of the library itself
|
|
and to C-API. With some time C-API will likely be removed, and it
|
|
makes it easier to make it follow Libmv style, hence the diversion
|
|
from Blender's style.
|
|
|
|
There are quite some exceptions (clang-format off) in the code around
|
|
Eigen matrix initialization. It is rather annoying, and there could be
|
|
some neat way to make initialization readable without such exception.
|
|
|
|
Could be some places where loss of readability in matrix initialization
|
|
got lost as the change is quite big. If this has happened it is easier
|
|
to address readability once actually working on the code.
|
|
|
|
This change allowed to spot some missing header guards, so that's nice.
|
|
|
|
Doing it in bundled version, as the upstream library needs to have some
|
|
of the recent development ported over from bundle to upstream.
|
|
|
|
There should be no functional changes.
|
|
|
|
commit c4de0ccd5aede3bb90ac6ad1039a83c2260fbefd
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Tue Feb 23 16:43:01 2021 +0100
|
|
|
|
Avoid use of LOG(INFO) in solver
|
|
|
|
Usage of LOG(INFO) actually went against own guidelines in the
|
|
logging.h: the INFO is for messages which are to be printed
|
|
regardless of debug/verbosity settings.
|
|
|
|
commit 94d925131b08e23cea7fdf735923e24b78a8c7fd
|
|
Author: Campbell Barton <ideasman42@gmail.com>
|
|
Date: Fri Feb 5 16:23:34 2021 +1100
|
|
|
|
Cleanup: correct spelling in comments
|
|
|
|
commit db0c8dbea19d684899dffcb46a2e79c12dc91e6b
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Tue Dec 1 14:52:08 2020 +0100
|
|
|
|
Tweak default logging verbosity level
|
|
|
|
Log to verbosity level 1 rather than INFO severity.
|
|
|
|
Avoids a lot of overhead coming from construction of the INFO stream
|
|
and improves performance and threadability of code which uses logging.
|
|
|
|
This makes tracking of 250 frames of a track of default settings to
|
|
drop down from 0.6sec to 0.4sec.
|
|
|
|
commit 8f2c13edf0d3b0c8a2ad90d6ae13f11aed457709
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Tue Dec 1 14:46:35 2020 +0100
|
|
|
|
Cleanup, remove unused logging macros
|
|
|
|
Unused and was not entirely happy with such short abbreviations.
|
|
|
|
commit 1dc2ab9847ce6cc84ab6c8e3e8613687480d735d
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Fri Nov 27 15:58:55 2020 +0100
|
|
|
|
Add threading primitives
|
|
|
|
Allows to use mutex, scoped_lock, and conditional_variable from within
|
|
the libmv namespace.
|
|
|
|
Implementation is coming from C++11. Other configurations are easy to
|
|
implement, but currently C++11 is the way to go.
|
|
|
|
commit 6531b66fd3bf4b5ee112b904b390d164a03628c5
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Fri Nov 27 15:43:44 2020 +0100
|
|
|
|
Add build configuration header
|
|
|
|
Allows to easily access build platform information, such as bitness,
|
|
compiler, supported C++ version and so on.
|
|
|
|
commit 632c356375e4ac07da43b346384fdf67e7916426
|
|
Author: Campbell Barton <ideasman42@gmail.com>
|
|
Date: Fri Nov 6 14:35:38 2020 +1100
|
|
|
|
Cleanup: doxygen comments
|
|
|
|
commit c9479472ce8d63b1d6e4c9c1b072b975479cd4c0
|
|
Author: Campbell Barton <ideasman42@gmail.com>
|
|
Date: Fri Nov 6 11:25:27 2020 +1100
|
|
|
|
Cleanup: follow our code style for float literals
|
|
|
|
commit 6455055b265cddbf604523653b01c9d7adbc23d5
|
|
Author: Ivan Perevala <ivpe>
|
|
Date: Thu Oct 29 10:19:06 2020 +0100
|
|
|
|
Fix clang inconsistent-missing-override warnings.
|
|
|
|
Reviewed By: sergey, ankitm
|
|
|
|
Differential Revision: https://developer.blender.org/D9377
|
|
|
|
commit 020fc13a5336c872c3251e45d28cc02584094f33
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Wed Oct 21 10:53:13 2020 +0200
|
|
|
|
Simplify configuration of intrinsics to refine
|
|
|
|
Previously, only predefined and limited set of intrinsics combinations
|
|
could have been refined. This was caused by a bundle adjustment library
|
|
used in the early days of the solver.
|
|
|
|
Now it is possible to fully customize which intrinsics are to be refined
|
|
during camera solving. Internally solver supports per-parameter settings
|
|
but in the interface they are grouped as following:
|
|
|
|
* Focal length
|
|
* Optical center
|
|
* Radial distortion coefficients (which includes k1, k2, k3, k4)
|
|
* Tangential distortion coefficients (which includes p1, p2)
|
|
|
|
Differential Revision: https://developer.blender.org/D9294
|
|
|
|
commit 5ef3c2c41854a2e634ba692e9b63194aa74b928d
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Wed Oct 21 10:48:13 2020 +0200
|
|
|
|
Fix typo in packed intrinsics
|
|
|
|
Was using doing an implicit cast of floating point value to boolean.
|
|
Was not noticed before because the boolean value was never never used.
|
|
|
|
commit 648388878525aa585bdbbed2e457186b6483bd5e
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Tue Oct 13 11:34:05 2020 +0200
|
|
|
|
Refactor camera intrinsics parameter block
|
|
|
|
Use the newly introduced packed intrinsics, which allows to remove
|
|
code which was initializing parameters block based on distortion
|
|
model type.
|
|
|
|
Now such initialization is done by a particular implementation of
|
|
a distortion model.
|
|
|
|
Differential Revision: https://developer.blender.org/D9192
|
|
|
|
commit 60780e30a8aec37f53d4e952375ffc8d720341c6
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Tue Oct 13 11:32:35 2020 +0200
|
|
|
|
Add generic class for packed intrinsics
|
|
|
|
This is a common class which can be used in all sort of minimization
|
|
problems which needs camera intrinsics as a parameter block.
|
|
|
|
Currently unused, but will replace a lot of hard-coded logic in the
|
|
bundle adjustment code.
|
|
|
|
commit 409924c76be27fec3b619d79379df76cb8de6a9a
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Tue Oct 13 11:25:34 2020 +0200
|
|
|
|
Add array<type, size> to libmv namespace
|
|
|
|
commit 6411c7fed3c30dce05b9b2df239b7f4cf91cdecd
|
|
Author: Sebastian Parborg <darkdefende@gmail.com>
|
|
Date: Tue Oct 20 14:45:54 2020 +0200
|
|
|
|
Fix test on windows
|
|
|
|
There is no point in testing std::vector capacity as it can differ
|
|
between std implementations.
|
|
|
|
commit 242d31ff4ed78a6f36ac29f139b03abc4f32f4f5
|
|
Author: Harley Acheson <harley.acheson@gmail.com>
|
|
Date: Mon Oct 19 08:51:50 2020 -0700
|
|
|
|
Spelling: Miscellaneous
|
|
|
|
Corrects 34 miscellaneous misspelled words.
|
|
|
|
Differential Revision: https://developer.blender.org/D9248
|
|
|
|
Reviewed by Campbell Barton
|
|
|
|
commit 91cd0310d6762fdcc7253303bec7f0453cf1f18f
|
|
Author: Harley Acheson <harley.acheson@gmail.com>
|
|
Date: Mon Oct 19 08:12:33 2020 -0700
|
|
|
|
Spelling: It's Versus Its
|
|
|
|
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required.
|
|
|
|
Differential Revision: https://developer.blender.org/D9250
|
|
|
|
Reviewed by Campbell Barton
|
|
|
|
commit 788ed5fa8ace0df951fe8f03e6510187ed694044
|
|
Author: Sebastian Parborg <darkdefende@gmail.com>
|
|
Date: Mon Oct 19 13:03:06 2020 +0200
|
|
|
|
Fix alignment issues when compiling with AVX support
|
|
|
|
There would be eigen alignment issues with the custom libmv vector
|
|
class when compiling with AVX optimizations. This would lead to
|
|
segfaults.
|
|
|
|
Simply use the std::vector base class as suggested by the old TODO in
|
|
the class header.
|
|
|
|
Reviewed By: Sergey
|
|
|
|
Differential Revision: http://developer.blender.org/D8968
|
|
|
|
commit 21a114476eaafec4b25c0ea19eaccdd9e870160d
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Mon Oct 12 14:59:18 2020 +0200
|
|
|
|
Remove array access from camera intrinsics
|
|
|
|
That was a suboptimal decision from back in the days, which ended up
|
|
being problematic. It is no longer used, so remove it from API making
|
|
it so new code does not depend on this weak concept.
|
|
|
|
commit b6a579fd88de5e13c812310a0416e698648578c4
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Mon Oct 12 12:17:55 2020 +0200
|
|
|
|
Fix wrong packing order of intrinsics for BA step
|
|
|
|
The order got broken when Brown distortion model has been added.
|
|
Made it so the indexing of parameters is strictly defined in the
|
|
parameter block, matching how parameters are used in the cost
|
|
function.
|
|
|
|
There is some duplication going on accessing parameters. This can
|
|
be refactored in the future, by either moving common parts packing
|
|
and cost function to an utility function in bundle.cc.
|
|
Alternatively, can introduce a public PackedIntrinsics class which
|
|
will contain a continuous block of parameters, and each of the
|
|
camera models will have API to be initialized from packed form and
|
|
to create this packed form.
|
|
|
|
The benefit of this approach over alternative solutions previously
|
|
made in the master branch or suggested in D9116 is that the specific
|
|
implementation of BA does not dictate the way how public classes need
|
|
to be organized. It is API which needs to define how implementation
|
|
goes, not the other way around.
|
|
|
|
Thanks Bastien and Ivan for the investigation!
|
|
|
|
commit 595d4a45db2f1d68bc6091b6fad3580411a10e40
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Mon Oct 12 10:46:31 2020 +0200
|
|
|
|
Fix memory leak in modal solver
|
|
|
|
The leak was happening when problem did not have any parameters blocks
|
|
defined. This happens, for example, if there are no 3D points at all,
|
|
or when all markers are set to 0 weight.
|
|
|
|
Was noticeable in libmv_modal_solver_test when building with LSAN
|
|
enabled.
|
|
|
|
commit b6ecdc497c00e5f9a0a6dffe1c27051c8df8482a
|
|
Author: Sergey Sharybin <sergey@blender.org>
|
|
Date: Mon Oct 12 10:44:57 2020 +0200
|
|
|
|
Cleanup, spelling in function name
|
|
|
|
Is a local function, not affecting API.
|
|
|
|
commit 2a712777076c076fcf8aae9b9657089d81fd129f
|
|
Author: Ivan Perevala <ivpe>
|
|
Date: Wed Sep 30 15:12:14 2020 +0200
|
|
|
|
Implement Brown-Conrady distortion model
|
|
|
|
Implemented Brown-Conrady lens distortion model with 4 radial and
|
|
2 tangential coefficients to improve compatibility with other software,
|
|
such as Agisoft Photoscan/Metashapes, 3DF Zephir, RealityCapture,
|
|
Bentley ContextCapture, Alisevision Meshroom(opensource).
|
|
|
|
Also older programs: Bundler, CPMVS.
|
|
In general terms, most photogrammetric software.
|
|
|
|
The new model is available under the distortion model menu in Lens
|
|
settings.
|
|
|
|
For tests and demos check the original patch.
|
|
|
|
Reviewed By: sergey
|
|
|
|
Differential Revision: https://developer.blender.org/D9037
|
|
|
|
commit e4e2b8c382f9bb2490318cd621a438ccb4dd7327
|
|
Author: Ivan <vanyOk>
|
|
Date: Mon Sep 28 09:57:03 2020 +0200
|
|
|
|
Fix NukeCameraIntrinsics copy constructor
|
|
|
|
Copy the appropriate parameter
|
|
|
|
Reviewed By: sergey
|
|
|
|
Differential Revision: https://developer.blender.org/D9014
|
|
|
|
commit 1e5deb138ad1ef79204b118f4dc741f96bd0e650
|
|
Author: Johan Walles <walles>
|
|
Date: Tue Jul 7 11:09:31 2020 +0200
|
|
|
|
Add units to motion tracking solve errors
|
|
|
|
The unit being "pixels".
|
|
|
|
Before this change the solve errors were unitless in the UI.
|
|
|
|
With this change in place, the UI is now clear on that the unit of the
|
|
reprojection errors is pixels (px).
|
|
|
|
Differential Revision: https://developer.blender.org/D8000
|
|
|
|
commit a8a5a701f2839a97af51825d98726e7eb7e6eb1d
|
|
Author: Campbell Barton <ideasman42@gmail.com>
|
|
Date: Wed Jul 1 13:12:24 2020 +1000
|
|
|
|
Cleanup: spelling
|
|
|
|
commit fd83866975d5d8163d9bb71d645239562cb329b5
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Thu Jun 18 10:12:01 2020 +0200
|
|
|
|
Update Ceres to the latest upstream version
|
|
|
|
Using latest master because of various compilation error fixes.
|
|
|
|
Brings a lot of recent development. From most interesting parts:
|
|
|
|
- New threading model.
|
|
- Tiny solver.
|
|
- Compatibility with C++17.
|
|
|
|
commit 307e9a945a320a1b7d9af210c2da1cfbb6439ec5
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Fri May 15 14:54:30 2020 +0200
|
|
|
|
Fix crash solving when having negative frames
|
|
|
|
Don't use linear array with frame as an index since it has the
|
|
following disadvantages:
|
|
|
|
- Requires every application to take care of frame remapping, which
|
|
could be way more annoying than it sounds.
|
|
|
|
- Inefficient from memory point of view when solving part of a footage
|
|
which is closer to the end of frame range.
|
|
|
|
Using map technically is slower from performance point of view, but
|
|
could not feel any difference as the actual computation is way more
|
|
complex than access of camera on individual frames.
|
|
|
|
Solves crash aspect of T72009
|
|
|
|
commit 730eec3e0a382b23648d9000e07218519e1223d1
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Fri May 15 11:08:18 2020 +0200
|
|
|
|
Add map utility
|
|
|
|
commit 0d3f5d94474553c51a1e5d830521fca4ee82aa54
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Fri May 15 11:05:07 2020 +0200
|
|
|
|
Cleanup, spelling
|
|
|
|
commit d26503ab5a9d2faef0f388695d6bb1c46ffff4eb
|
|
Author: Aaron Carlisle <carlisle.b3d@gmail.com>
|
|
Date: Thu May 7 23:42:22 2020 -0400
|
|
|
|
Cleanup: Doxygen: fix markup warnings for links
|
|
|
|
commit 9e8e94e8281abb6edb5e81afe4365743994800d2
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Mon Apr 20 17:33:03 2020 +0200
|
|
|
|
Implement Nuke/Natron distortion model
|
|
|
|
Neither Nuke nor Natron support OpenCV's radial distortion model
|
|
which makes it impossible to have any kind of interoperability.
|
|
|
|
The new model is available under the distortion model menu in Lens
|
|
settings.
|
|
|
|
Differential Revision: https://developer.blender.org/D7484
|
|
|
|
commit 1dc83e7545fc832180322f492245933fb343f158
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Tue Apr 21 16:41:23 2020 +0200
|
|
|
|
Cleanup, naming
|
|
|
|
Initial bundle adjustment only supported OpenCV's radial distortion
|
|
model, so the cost functor was called after it.
|
|
|
|
Nowadays it supports more than this single model, so naming was a bit
|
|
wrong and misleading.
|
|
|
|
commit b6df71dd5e5a49b3459c522c10ae98e8795e69b5
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Tue Apr 21 12:25:45 2020 +0200
|
|
|
|
Cleanup, spelling and naming in bundle adjustment
|
|
|
|
Just more things which were discovered to be annoying on unclear when
|
|
adding more features to this code.
|
|
|
|
commit a4bbe3a10a5b6b23acd261b1e6c772a6f6672c00
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Mon Apr 20 17:26:45 2020 +0200
|
|
|
|
Cleanup, spelling in comment
|
|
|
|
commit 4219e9d22bad012e9e64b83a5e26d1d4eff3fcc6
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Mon Apr 20 12:44:07 2020 +0200
|
|
|
|
De-duplicate creation of residual block
|
|
|
|
Allows to centralize logic which is needed to check which cost functor
|
|
to use for the specific intrinsics.
|
|
|
|
commit 9637ebc18b2bac794c8f11b1c2c092a3a9c3e6d2
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Mon Apr 20 11:41:01 2020 +0200
|
|
|
|
Cleanup reprojection cost function
|
|
|
|
Make it smaller and more clear how and what it operates on.
|
|
|
|
commit 1efc975a5457cfee6baf41df67afb3e43834d57f
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Mon Apr 20 11:19:47 2020 +0200
|
|
|
|
Pass entire camera intrinsics to reprojection error functor
|
|
|
|
Currently no functional changes, but allows to have access to some
|
|
invariant settings of camera intrinsics such as image dimensions.
|
|
|
|
commit 0f54f2b305f59fc99764b9c85fe28f35f10faa86
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Fri Apr 17 17:34:19 2020 +0200
|
|
|
|
Cleanup, rephrase comment
|
|
|
|
commit 229912b0e1746145c4ab710f8609ce90f690a8e2
|
|
Author: Sergey Sharybin <sergey.vfx@gmail.com>
|
|
Date: Fri Apr 17 17:29:04 2020 +0200
|
|
|
|
Cleanup, fix indentation
|