Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-15add in ifdef for WITH_LIBMV, correct own error passing float[2] as float[3]Campbell Barton
2013-03-15Multi-threaded frame calculation for movie clip proxiesSergey Sharybin
This commit implements multi-threaded calculation of frames when building proxies. Both scaling and undistortion steps are now threaded. Frames and proxy resolution are still handled one-by-one, saving files after every single step. So if HDD is not so fast, this commit could have not so much benefit. Internal changes: - Added IMB_scaleImBuf_threaded which scales given image buffer in multiple threads and uses bilinear filtering. - libmv's camera intrinsics now have SetThreads() method which is used to specify how many OpenMP threads to use for buffer distortion/undistortion. And yeah, this code is using OpenMP for threading. - Reshuffled a bit libmv-capi calls and added function BKE_tracking_distortion_set_threads to specify number of threads used by intrinscis.
2013-03-09code cleanup: favor braces when blocks have mixed brace use.Campbell Barton
2013-03-06Tracking dopesheet fixes:Sergey Sharybin
- Dopesheet need to be updated when adding or switching between objects. - After removing object it shall also be tagged for update, otherwise crash will likely happen.
2013-03-06code cleanup: quiet float/double conversion warnings.Campbell Barton
2013-03-05patch [#34103]Campbell Barton
from Lawrence D'Oliveiro (ldo) More use of bool type, necessitating adding inclusion of BLI_utildefines.h, or moving it up in the inclusion order if it was already included, in various places - storage.c: make some variables only used in bli_builddir local to that - storage.c: BLI_file_descriptor_size should allow 0 as a valid file descriptor - path_util.c: make pointers to non-reentrant storage returned from folder routines const, necessitating making variables holding these returned pointers const elsewhere as well - path_util.c: BLI_string_to_utf8 closes iconv context in case of conversion error - blf_lang.c: fill_locales routine now has its own "languages" local variable to construct paths (was stealing internal storage belonging to BLI_get_folder before)
2013-03-04Fix for incorrect subpixel precision of marker when using track offsetSergey Sharybin
Issue was caused by the way how pattern sampling happens in case of anchored display: track offset is applying on search buffer which means offset is rounding to an integer. Fractional pat of offset was completely ignoring which lead to jumps in pattern buffer. This was only a visualization issue in track preview widget.
2013-02-28Modal (aka tripod) solver reworkSergey Sharybin
Several major things are done in this commit: - First of all, logic of modal solver was changed. We do not rely on only minimizer to take care of guessing rotation for frame, but we're using analytical rotation computation for point clouds to obtain initial rotation. Then this rotation is being refined using Ceres minimizer and now instead of minimizing average distance between points of point of two clouds, minimization of reprojection error of point cloud onto frame happens. This gives quite a bit of precision improvement. - Second bigger improvement here is using bundle adjustment for a result of first step when we're only estimating rotation between neighbor images and reprojecting markers. This averages error across the image sequence avoiding error accumulation. Also, this will tweak bundles themselves a bit for better match. - And last bigger improvement here is support of camera intrinsics refirenment. This allowed to significantly improve solution for real-life footage and results after such refining are much more usable than it were before. Thanks to Keir for the help and code review.
2013-02-26Camera tracking: support refining radial K1, K2 onlySergey Sharybin
This commits adds extra refirenment entry in the menu which is "K1, K2" and which will apparently refine only this distortion coefficients. This would be useful in cases when you know for sure focal length (which could be obtained from lens, EXIF and so) but not sure about how good you manual calibration is. Be careful tho, there're no internal constraints on this coefficients so distortion model could just screw up into insane values.
2013-02-25Fix compilation error with libmv disabledSergey Sharybin
2013-02-25Camera tracking, minor changes:Sergey Sharybin
- Fill in image dimension for camera intrinsics used for solution refirement. - Retrieve K3 from camera intrinsics after refining. Shall be no functional changes, just makes things clear and robust for further improvements.
2013-02-25Camera tracking: libmv distortion API now also uses camera intrinsicsSergey Sharybin
structure instead of passing all the parameters to every function. Makes it much easier to tweak distortion model. --- svn merge -r52854:52855 ^/branches/soc-2011-tomato
2013-02-25code cleanup: camera trackingSergey Sharybin
- Moved keyframes and refirement flags into reconstruction options structure - Moved distortion coefficients and other camera intrinsics into own structure - Cleaned up reconstruction functions in libmv c-api --- svn merge -r52853:52854 ^/branches/soc-2011-tomato
2013-02-22Motion tracking dopesheetSergey Sharybin
Highlight background depending on number of tracks existing on frame. This is not so much mathematically accurate displaying where things shall be improved, but it's nice feedback about which frames better be reviewed. Bad frames are tracks < 8, highlighted with red. OK-ish frame are 8 <= tracks < 16, highlighted with yellow. Could be some artifacts with color region start/end, this is a bit unclear what exactly expected to be highlighted -- frames are displayed as dots, but in fact they're quite noticeable segments. --- svn merge -r54572:54573 ^/branches/soc-2011-tomato
2013-02-18Correction to r54600Sergey Sharybin
Calculate dependent area based on distortion model rather than using 15% of image resolution for this. Some assumptions here: - We're assuming real-life camera calibration is used here - Maximal undistortion delta would be achieved on frame boundary - Distortion fully goes inside frame This makes it possible to approximate margin for distortion by checking undistortion delta across frame boundary and use it for dependent area of interest. We do not use any formula-based equation here because we're likely support other distortion models and in that case it'll be stupid to try detecting formula here.
2013-02-05Tracking settings for new clip didn't match default resetSergey Sharybin
2013-01-12code cleanup: style and replace (float)sin, (float)cos with sinf, cosfCampbell Barton
2012-12-11code cleanup: neareast -> nearestCampbell Barton
2012-12-10Camera tracking: libmv distortion API now also uses camera intrinsics structureSergey Sharybin
instead of passing all the parameters to every function. Makes it much easier to tweak distortion model.
2012-12-10code cleanup: camera trackingSergey Sharybin
- Moved keyframes and refirement flags into reconstruction options structure - Moved distortion coefficients and other camera intrinsics into own structure - Cleaned up reconstruction functions in libmv c-api
2012-12-10Merging r51923 through r52851 from trunk into soc-2011-tomatoSergey Sharybin
2012-11-16code cleanup: replace most DO_MINMAX2 -> minmax_v2v2_v2Campbell Barton
also add UNPACK macros's. handy for printing vectors for eg.
2012-11-07Fixed crashes when motion tracks are zero-sizedSergey Sharybin
This is probably versioning issue happened when both trunk and tomato were mixed to work on the same file. Anyway, there're few files here locally and it's probably other users do have the same files, so lets keep things safe here :)
2012-11-05Merging r50625 through r51896 from trunk into soc-2011-tomatoSergey Sharybin
Merging just in case we'll want to develop some experimental stuff
2012-11-05Camera Tracking: allow fallback to reprojection resection by user demandSergey Sharybin
This fixes some "regressions" introduced in rev50781 which lead to much worse solution in some cases. Now it's possible to bring old behavior back. Perhaps it's more like temporal solution for time being smarter solution is found. But finding such a solution isn't so fast, so let's bring manual control over reprojection usage. But anyway, imo it's now nice to have a structure which could be used to pass different settings to the solver.
2012-11-02all remove functions now invalidate the RNA objects passed, to help script ↵Campbell Barton
authors to avoid bugs with accessing removed data.
2012-10-26Big i18n commit: add "reports" from bmesh/readfile/tracking/dynapaint (and a ↵Bastien Montagne
few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()...
2012-10-26Camera tracking fixesSergey Sharybin
- Dopesheet should be invalidated after solution - Prevent crash when non-camera object is set as scene camera
2012-10-23use min_ max_ functions in more places.Campbell Barton
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
2012-10-23rename api functions...Campbell Barton
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-15Motion Tracking: fixed dopesheet left in incorrect state after joining tracksSergey Sharybin
2012-10-15Color Management: remove unused function and get rid of unneeded float->byte ↵Sergey Sharybin
conversion
2012-10-09Motion Tracking: move keyframe settings to per-tracking object settingsSergey Sharybin
2012-09-28code cleanup: correct spellingCampbell Barton
2012-09-27Fix #32669: Markers are not disabled properly if started from any other than ↵Sergey Sharybin
first frame. Was own mistake in code refactoring from a while ago.
2012-09-19Tracking: fixed crash when reference frame fails to be loadedSergey Sharybin
2012-09-17Remove obsolete code from BKE_tracking_marker_clampSergey Sharybin
2012-09-16code cleanup: quiet warnings for gcc's -Wundef, -Wmissing-declarationsCampbell Barton
2012-09-16remove unused parts of raskter module.Campbell Barton
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
Replace old color pipeline which was supporting linear/sRGB color spaces only with OpenColorIO-based pipeline. This introduces two configurable color spaces: - Input color space for images and movie clips. This space is used to convert images/movies from color space in which file is saved to Blender's linear space (for float images, byte images are not internally converted, only input space is stored for such images and used later). This setting could be found in image/clip data block settings. - Display color space which defines space in which particular display is working. This settings could be found in scene's Color Management panel. When render result is being displayed on the screen, apart from converting image to display space, some additional conversions could happen. This conversions are: - View, which defines tone curve applying before display transformation. These are different ways to view the image on the same display device. For example it could be used to emulate film view on sRGB display. - Exposure affects on image exposure before tone map is applied. - Gamma is post-display gamma correction, could be used to match particular display gamma. - RGB curves are user-defined curves which are applying before display transformation, could be used for different purposes. All this settings by default are only applying on render result and does not affect on other images. If some particular image needs to be affected by this transformation, "View as Render" setting of image data block should be set to truth. Movie clips are always affected by all display transformations. This commit also introduces configurable color space in which sequencer is working. This setting could be found in scene's Color Management panel and it should be used if such stuff as grading needs to be done in color space different from sRGB (i.e. when Film view on sRGB display is use, using VD16 space as sequencer's internal space would make grading working in space which is close to the space using for display). Some technical notes: - Image buffer's float buffer is now always in linear space, even if it was created from 16bit byte images. - Space of byte buffer is stored in image buffer's rect_colorspace property. - Profile of image buffer was removed since it's not longer meaningful. - OpenGL and GLSL is supposed to always work in sRGB space. It is possible to support other spaces, but it's quite large project which isn't so much important. - Legacy Color Management option disabled is emulated by using None display. It could have some regressions, but there's no clear way to avoid them. - If OpenColorIO is disabled on build time, it should make blender behaving in the same way as previous release with color management enabled. More details could be found at this page (more details would be added soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management -- Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO integration and to Brecht van Lommel for some further development and code/ usecase review!
2012-09-15Merging r50602 through r50617 form trunk into soc-2011-tomatoSergey Sharybin
2012-09-15Silent compiler's warnings about tracking moduleSergey Sharybin
2012-09-14Color Management: get rid of image buffer's profile flagSergey Sharybin
Currently float buffers are always linear, space of byte buffer is defined by rect_colorspace property. Replaced logic of IMB_rect_from_float and IMB_float_from_rect to use this assumptions (before it was special function used in some areas only, now it's default behavior). Almost all functions from ImBuf module which are actually used are got rid from profile flag. Only remained issue is IMB_float_profile_ensure which only used by CIneon/DPX exporter which is broken for a while already. Need to be fixed separately. This also fixed clone brush when cloning byte image on top of float, before this result would be gamma-corrected twice.
2012-09-04Merging r50265 through r50373 from trunk into soc-2011-tomatoSergey Sharybin
2012-09-03fix [#32434] Copy-Paste Tracks causes Blender to freeze/crash on second use.Campbell Barton
2012-08-12style cleanupCampbell Barton
2012-08-01fill in dummy values when using movie clip distort node but compiled without ↵Campbell Barton
libmv.
2012-07-29code cleanup: replace MIN2/MAX2 with minf/maxfCampbell Barton
2012-07-27Added utility function to return marker's subframe positionSergey Sharybin
Used in mask parenting stuff.
2012-07-26fix some types and incorrect infoCampbell Barton