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
2015-05-08Cleanup: use r_* prefix for return argsCampbell Barton
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2014-12-15Fix for clip proxies builder reloading original footage framesSergey Sharybin
This isn't needed if the source is the image sequence.
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2013-04-04Changes to cache invalidation policy for movie clipsSergey Sharybin
- When changing clip in clip editor, remove all frames from it's cache to free memory for new clip. - When changing proxy render settings, free cache as well.
2013-03-20Prefetching for movie clipsSergey Sharybin
This commit basically implements frames prefetching for movie clip datablock. Number of frames to be prefetched is controlled in User Preferences, System tab, Prefetch Frames option. Currently prefetching is destructive-less for movie cache, meaning mo frames will be removed from the cache when while prefetching. This is because it's half of simplier to implement, but it also makes sense from tracking point of view -- we could want to playback in both directions and removing frames from behind time cursor is not always a good idea. Anyway, smarter prefetching strategy could be developed later. Some implementation notes: - Added MEM_CacheLimiter_get_memory_in_use function to get memory usage of specified memory limiter. - Fixed prototype of MEM_CacheLimiter_get_maximum which was simply wrong (used wrong data type for output). - Added some utility functions to movie clip and movie cache for direct cache interaction and obtaining cache statistics. - Prefetching is implemented using general jobs system. which is invoking from clip draw function. - Prefetcing will stop as soon other job or playback starts. This is done from performance point of view. Jobs will likely require lots of CPU power and better to provide whole CPU to it. Playback is a bit more complicated case. For jpeg sequence playback prefetching while paying back is nice. But trying to prefetch heavy exr images and doing color space conversion slows down both playback and prefetching. TODO: - Think of better policy of dealing with already cached frames (like when cached frames from other clips prevents frames from current clip to be prefetched) - Currently a bit funky redraw notification happens from prefetch job. Perhaps own ND_ is better to have here. - Hiding clip while prefetch is active in theory shall stop prefetching job. - Having multiple clips opened on file load will prefetch frames for only one of them.
2013-03-15Further improvement for multi-threaded proxiesSergey Sharybin
Handle sequences in a special case for dealing with sequence sources. Namely handle separate frames in separate threads, but do disk read from a critical section since HDD is not so friendly with lots threads requesting for data from it. Makes proxy building much faster than it was before.
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2012-09-13fix [#31946] Masking doesn't respect pixel ratioCampbell Barton
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-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-05-13code cleanup: header cleanup and remove some duplicate defines.Campbell 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-03-26Code style cleaup for motion-tracking modules.Sergey Sharybin
Should be no functional changes.
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-02-29Code Cleanup: remove non existing function declarations.Campbell Barton
added some missing functions too - which are not used yep but should be there for api completeness. * CDDM_set_mloop * CDDM_set_mpoly * BLI_mempool_count
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-01Camera tracking: regression fixed after recent frame postprocessing refactorSergey Sharybin
No-proxied frames using for 2D tracking used to be putting to cache which lead to extra memory usage which shouldn't happen.
2012-01-15Color channels now can be disabled for the whole frame in clip editorSergey Sharybin
2011-12-27More fixes for timecode usage with BKE_movieclip_get_ibuf_flagSergey Sharybin
2011-11-07Camera tracking integrationSergey Sharybin
=========================== Commiting camera tracking integration gsoc project into trunk. This commit includes: - Bundled version of libmv library (with some changes against official repo, re-sync with libmv repo a bit later) - New datatype ID called MovieClip which is optimized to work with movie clips (both of movie files and image sequences) and doing camera/motion tracking operations. - New editor called Clip Editor which is currently used for motion/tracking stuff only, but which can be easily extended to work with masks too. This editor supports: * Loading movie files/image sequences * Build proxies with different size for loaded movie clip, also supports building undistorted proxies to increase speed of playback in undistorted mode. * Manual lens distortion mode calibration using grid and grease pencil * Supervised 2D tracking using two different algorithms KLT and SAD. * Basic algorithm for feature detection * Camera motion solving. scene orientation - New constraints to "link" scene objects with solved motions from clip: * Follow Track (make object follow 2D motion of track with given name or parent object to reconstructed 3D position of track) * Camera Solver to make camera moving in the same way as reconstructed camera This commit NOT includes changes from tomato branch: - New nodes (they'll be commited as separated patch) - Automatic image offset guessing for image input node and image editor (need to do more tests and gather more feedback) - Code cleanup in libmv-capi. It's not so critical cleanup, just increasing readability and understanadability of code. Better to make this chaneg when Keir will finish his current patch. More details about this project can be found on this page: http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011 Further development of small features would be done in trunk, bigger/experimental features would first be implemented in tomato branch.