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
2012-10-18Fix #32896: No compositor tree update with image input color space changeSergey Sharybin
2012-10-15Forget this in svn rev51336Sergey Sharybin
2012-10-01Fix #32686: MovieClip background initialisaton errorSergey Sharybin
Undistorted rendering with original footage settings does not require proxies to be enabled.
2012-10-01fix for some errors when unlinking.Campbell Barton
- movieclip unlink didn't clear node ID pointers from the scene (leaving dangling pointers). - mask datablock unlink was clearning references from scene nodes twice.
2012-09-24- Corrected movie clip length computationSergey Sharybin
- Ignore clip's offset for movie clip sequencer strip
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-15quiet -Wmissing-prototypes warnings, and enable this warning by default for ↵Campbell Barton
C with gcc. helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-13fix [#31946] Masking doesn't respect pixel ratioCampbell Barton
2012-09-04code cleanup: move file string defines into BLI_path_utils.h, ↵Campbell Barton
BKE_utildefines is now unused but keep incase we want to add defines there later.
2012-07-28Fix regression in clip reloading -- after recent change movie usedSergey Sharybin
to be reset to default image size instead of it's actual size.
2012-07-26mask/image viewer now works with non 1:1 image aspect, editing masks in the ↵Campbell Barton
image viewer should be generally usable now though still some TODO's left.
2012-07-10Improved cache management for movie clips from tomato branchSergey Sharybin
Replace pseudo-LRU approach of determining which buffer to remove when running out of space allowed for cache with approach which would remove the frame which is most far away from newly added frame. This is still a bit tricky because it's impossible to distinguish which frame to delete in situation of: CCCC...CC ^ it's either user wants to extend left segment of cached frames and buffers from right segment should be removed or he wants to join this two segments and in that case buffers from right segment should be removed. Would need a bit more investigation which situation is more common in general usecase. Additional changes: - Cleanup some memutil files (which are familiar to cache limiter) - Add option to make moviecache verbose. If DEBUG_MESSAGES is defined in moviecache.c detailed logs would be printed to the console. - Movie caches are now named which helps reading debug messages.
2012-07-09Fixed issues updating texture buffer used for clip editor frame displaySergey Sharybin
when specific circumstances are met. Mainly issue was caused by checking ImBuf pointers, which used to fail when some post-processing flags are changed. This was caused by the fact that freeing old ImBuf and allocating new one could lead to new ImBuf have the same pointer as previous one, which confuses cache.
2012-06-24Fix crash sliding disabled marker from preview widget.Sergey Sharybin
Reported by brothermechanic, thanks!
2012-06-20Do not check result of BKE_tracking_marker_get -- it shall alwaysSergey Sharybin
return valid marker. If not -- let blender crash, because that means something went really bad and silencing this isn't good idea. Also made mask parenting to tracking data aware of clip's start frame.
2012-06-18DO not reset clip's focal length when changing path to footageSergey Sharybin
2012-06-17Now updating of resolution should happen nice when clip's filepath is changingSergey Sharybin
2012-06-152D stabilization didn't work since clip start frame commitSergey Sharybin
2012-06-15Internal refactoring of tracking module, should be no functional changesSergey Sharybin
- Re-arrange functions in headers and implementation file to make them more grouped by entity they're operating with. Also order of functions in implementation file should match order of functions in header for easier navigation. - Rename some functions to match conventions of naming public functions. - Some code de-duplication, still some room for improvements tho. - Split main 2D tracking functions into smaller steps to make it more clear. Accidentally OpenMP was disabled in some of previous commits, re-enable it.
2012-06-13Default value for frame offset should be 0Sergey Sharybin
2012-06-13Added frame offset slider to clip datablocksSergey Sharybin
In contrast to start_frame (which affects on where footage actually starts to play and also affects on all data associated with a clip such as motion tracking, reconstruction and so on) this slider only affects on a way how frame number is mapping to a filename, without touching any kind of tracking data. The formula is: file_name = clip_file_name + frame_offset - (start_frame - 1)
2012-06-12Masking support for motion tracksSergey Sharybin
Added option to use Grease Pencil datablock as a mask for pattern when doing motion tracking. Option could be found in Tracking Settings panel. All strokes would be rasterized separately from each other and every stroke is treating as a closed spline. Also added option to apply a mask on track preview which is situated just after B/B/W channel button under track preview.
2012-06-10Planar tracking support for motion trackingSergey Sharybin
=========================================== Major list of changes done in tomato branch: - Add a planar tracking implementation to libmv This adds a new planar tracking implementation to libmv. The tracker is based on Ceres[1], the new nonlinear minimizer that myself and Sameer released from Google as open source. Since the motion model is more involved, the interface is different than the RegionTracker interface used previously in Blender. The start of a C API in libmv-capi.{cpp,h} is also included. - Migrate from pat_{min,max} for markers to 4 corners representation Convert markers in the movie clip editor / 2D tracker from using pat_min and pat_max notation to using the a more general, 4-corner representation. There is still considerable porting work to do; in particular sliding from preview widget does not work correct for rotated markers. All other areas should be ported to new representation: * Added support of sliding individual corners. LMB slide + Ctrl would scale the whole pattern * S would scale the whole marker, S-S would scale pattern only * Added support of marker's rotation which is currently rotates only patterns around their centers or all markers around median, Rotation or other non-translation/scaling transformation of search area doesn't make sense. * Track Preview widget would display transformed pattern which libmv actually operates with. - "Efficient Second-order Minimization" for the planar tracker This implements the "Efficient Second-order Minimization" scheme, as supported by the existing translation tracker. This increases the amount of per-iteration work, but decreases the number of iterations required to converge and also increases the size of the basin of attraction for the optimization. - Remove the use of the legacy RegionTracker API from Blender, and replaces it with the new TrackRegion API. This also adds several features to the planar tracker in libmv: * Do a brute-force initialization of tracking similar to "Hybrid" mode in the stable release, but using all floats. This is slower but more accurate. It is still necessary to evaluate if the performance loss is worth it. In particular, this change is necessary to support high bit depth imagery. * Add support for masks over the search window. This is a step towards supporting user-defined tracker masks. The tracker masks will make it easy for users to make a mask for e.g. a ball. Not exposed into interface yet/ * Add Pearson product moment correlation coefficient checking (aka "Correlation" in the UI. This causes tracking failure if the tracked patch is not linearly related to the template. * Add support for warping a few points in addition to the supplied points. This is useful because the tracking code deliberately does not expose the underlying warp representation. Instead, warps are specified in an aparametric way via the correspondences. - Replace the old style tracker configuration panel with the new planar tracking panel. From a users perspective, this means: * The old "tracking algorithm" picker is gone. There is only 1 algorithm now. We may revisit this later, but I would much prefer to have only 1 algorithm. So far no optimization work has been done so the speed is not there yet. * There is now a dropdown to select the motion model. Choices: * Translation * Translation, rotation * Translation, scale * Translation, rotation, scale * Affine * Perspective * The old "Hybrid" mode is gone; instead there is a toggle to enable or disable translation-only tracker initialization. This is the equivalent of the hyrbid mode before, but rewritten to work with the new planar tracking modes. * The pyramid levels setting is gone. At a future date, the planar tracker will decide to use pyramids or not automatically. The pyramid setting was ultimately a mistake; with the brute force initialization it is unnecessary. - Add light-normalized tracking Added the ability to normalize patterns by their average value while tracking, to make them invariant to global illumination changes. Additional details could be found at wiki page [2] [1] http://code.google.com/p/ceres-solver [2] http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Motion_Tracker
2012-06-08Fixed issue with non-updating frame in clip editor when toggling undistorted ↵Sergey Sharybin
render while frame is grayscaled. Also corrected some typos in movieclip.
2012-06-07Avoid imbuf loading when getting movie clip sizeSergey Sharybin
This prevents high memory usage by non-proxied frames when doing mask parenting. Description from code: Originally was needed to support image sequences with different image dimensions, which might be useful for such things as reconstruction of unordered image sequence, or painting/rotoscoping of non-equal-sized images, but this ended up in unneeded cache lookups and even unwanted non-proxied files loading when doing mask parenting, so let's disable this for now and assume image sequence consists of images with equal sizes
2012-06-06Changed semantic of recently added start_frameSergey Sharybin
Now it's indicates at which scene frame number movie clip starts playing back. This this setting is still belongs to clip datavlock and used by all users of clip such as movie compositor nodes, constraints and so. After long discussion and thoughts about this it was decided that this would match image's current behavior (which initially seen a bit crappy), but that's actually allows: - Keep semantics of start frame in image and clip datablocks in sync - Allows to support features like support of loading image sequences with crappy numbers in suffix which doesn't fit long int. - Allows to eliminate extra boolean checkbox to control such kind of offset. Hopefully from pipeline POV it wouldn't hurt because idea of having this things implemented in original way was working only if sequence before processing started naming form 001.
2012-06-05Configurable start frame for movie clip datablocks as alternative to ↵Sergey Sharybin
automatic start frame number Number of start frame in opened image sequence used to be distinguished automatically in a way that file name used on open would be displayed at scene frame #1. But sometimes it's useful to have it manually configurable (like in cases when you're processing image sequence and replacing clip's filepath to postprocessed image sequence and want new clip to show at the same frame range as it was rendered from). Added Custom Start Frame flag to movie clip (could be accessed from Footage panel in clip editor) and Start Frame which means number of frame from sequence which would be displayed at scene frame #1. For example if you've got clip pointing to file render_00100.png and Start Frame of 100 this file would be displayed at scene frame #1, if Start Frame is 1 then this image would be displayed at scene frame #100,
2012-05-23Movie clip: remove workaround for #27997Sergey Sharybin
it's not actually helps, but only confuses system when using openexr movie clips.
2012-05-19code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also ↵Campbell Barton
replace do prefix with do_ for bool vars.
2012-05-09Camera tracking: fixes for tracking of float imagesSergey Sharybin
- Fixed suddenly disappearing preview image from track widget - Also suddenly stopping tracking should be fixed now Both issues were caused by mixing working with floats and bytes and in some cases it was wrong or missed checks done for this.
2012-05-07Style cleanup of own modules using style checker from Campbell.Sergey Sharybin
2012-05-06style cleanup: BKE_*.c files which deal with library functionsCampbell Barton
2012-05-05code cleanup: function naming, use BKE_*type* prefix.Campbell Barton
2012-05-04Style cleanup: spaces around operatorsSergey Sharybin
2012-04-30Camera tracking: initial commit of dopesheet view for clip editorSergey Sharybin
- Displays dopesheet information for selected tracks, and currently does not support any kind of editing. - Changed regions to use the whole main region for such views as curves and dopesheet. This allows to have own panels with tools/properties in this area. - Active clip is getting synchronized between different clip editor editors in the same screen, so updating of curve/dopesheet views happens automatically when one changes current clip in one of this editors. - Panels in toolbox and properties panels are now separated to rely on current view mode, but some operators and poll functions still need to be updated. - Added new screen called "Movie Tracking" where layout is configured to display timeline, main clip window, curves and dopesheet.
2012-04-29style cleanup: whitespace / commasCampbell Barton
2012-04-28Code and style cleanup in own modules in BKE and also mball moduleSergey Sharybin
- Make sure functions are named in way BKE_<object>_<action> (same way as RNA callbacks) - Make functions which are used by mball.c only static and remove their prototypes from public header file. Further cleanup is coming.
2012-04-28Camera tracking: if there's no image for current frame display default gridSergey Sharybin
and allow to interact with tracks for operators which doesn't require image. Merged from tomato branch: svn merge ^/branches/soc-2011-tomato -r45624:45625
2012-04-28style cleanup: changes to brace placement / newlines - for/while/if/switchCampbell Barton
2012-04-08code cleanup:Campbell Barton
- remove unused vars - no need to hard code version number for collada. - cleanup some typos in comments. - movieclip_calc_length was passing arg which should be unsigned to BLI_stringdec()
2012-04-07Fixed deadlock on loading file without number group into movie clip editorSergey Sharybin
2012-03-26Fix crash of Refresh Sequencer when some Movie / MovieClip strips doesn't ↵Sergey Sharybin
have animation opened
2012-03-26- MovieClip strips now have got valid color for older saved filesSergey Sharybin
- Update Strip Length will now properly update lenght of movie clip strips created from movies before lenght was added there.
2012-03-26Fix for crash when adding image sequence movie clip into a sequencerSergey Sharybin
2012-03-26Fix for object solver possible pointing to a freed memory when removingSergey Sharybin
movie clip data block from python/
2012-03-26Code style cleaup for motion-tracking modules.Sergey Sharybin
Should be no functional changes.
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-21== Sequencer ==Peter Schlaile
This adds movieclip input support to the sequencer, thereby making undistorted and stabilized footage available without a seperate render step. Also: removes some old cruft code from the sequencer: * new_tstripdata wasn't used anymore * StripElems were allocated for SCENE strips on full length, wasting memory Added a comment, that hopefully makes things a little bit clearer: StripElems are *only* usefull for MOVIE + IMAGE strips for all other strip types one can set this pointer to NULL. (If that should cause otherwise problems, then the code that doesn't check for NULL is to blame!)
2012-03-20Adds support for utf paths on Windows.Alexander Kuznetsov
Not all file formats/calls are supported yet. It will be expended. Please from now on use BLI_fopen, BLI_* for file manipulations. For non-windows systems BLI_fopen just calls fopen. For Windows, the utf-8 string is translated to utf-16 string in order to call UTF version of the function.
2012-03-04style cleanup / comment formatting for bli/bke/bmeshCampbell Barton