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-07-13 Imbuf types refactor.Antony Riakiotakis
ImBuf types were getting stored as bitflags in a 32bit integer which had already run out of space. Solved the problem by separating file type to an ftype enum, and file specific options to foptions. Reviewed by Campbell, thanks a lot!
2015-06-12Support metadata display in clip editorAntony Riakiotakis
2015-05-08Cleanup: use r_* prefix for return argsCampbell Barton
2015-04-04Cleanup: use BKE_animdata_* prefixCampbell Barton
2015-02-11cleanup: style/indentationCampbell Barton
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2015-01-01cleanup: redundant casts & const cast correctnessCampbell 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-11-29Cleanup: unused headersCampbell Barton
2014-10-31Fix T42277: Apply track's mask on displaying preview not workingSergey Sharybin
2014-09-25GHash: use bool for comparison (simplify compare)Campbell Barton
2014-05-01Code cleanup: remove defines no longer needed on windowsCampbell Barton
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-22BLI_open: check returned value for `-1` instead of `< 0`Campbell Barton
2014-04-17Support multiple distortion models, including a new division modelSergey Sharybin
This commit makes it so CameraIntrinsics is no longer hardcoded to use the traditional polynomial radial distortion model. Currently the distortion code has generic logic which is shared between different distortion models, but had no other models until now. This moves everything specific to the polynomial radial distortion to a subclass PolynomialDistortionCameraIntrinsics(), and adds a new division distortion model suitable for cameras such as the GoPro which have much stronger distortion due to their fisheye lens. This also cleans up the internal API of CameraIntrinsics to make it easier to understand and reduces old C-style code. New distortion model is available in the Lens panel of MCE. - Polynomial is the old well-known model - Division is the new one which s intended to deal better with huge distortion. Coefficients of this model works independent from each other and for division model one probably want to have positive values to have a barrel distortion.
2014-04-10Speedup track preview widget for byte imagesSergey Sharybin
This gives a huge speedup gain for cases when you've got rather huge markers on a byte images. Done by skipping IMB_float_from_rect()/IMB_rect_from_float() for such cases. We can sample the buffers without color space conversion.
2014-04-03Code cleanup: styleCampbell Barton
2014-04-02Fix T39545: "Track selected markers", does not stop at end of videoSergey Sharybin
Issue was cauzed by some weird clamping of current frame. Not sure why it was here at the first point -- it's from the day0 of movie clip datablock.
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-31Code cleanup: use bool/true/false in movieclip.cSergey Sharybin
2014-03-06Fixes for proxies color spaceSergey Sharybin
Basically proxy colorspace didn't work well enough. It is still a bit weird and mainly: - Proxies for image sequences are built in the image color space. - Proxies for movies are built in the movie color space. This could be unified but would need some work in proxy build to make it not just pipe frames from one FFmpeg context to another but also apply OCIO on it.
2014-02-04Fix T38440: Segmentation fault in Movie Clip EditorAlex Babahin
Issue was caused by NULL-pointer de-reference when post-processing the frame without putting the frame to movie cache. Differential Revision: https://developer.blender.org/D276
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-02-03Fixed a possible access to null pointer reference.Sergey Sharybin
Patch by tamerlan311 (Alex Babahin) Reviewers: sergey Reviewed By: sergey Differential Revision: https://developer.blender.org/D282
2014-01-15Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.Tom Edwards
Previously this only worked for some datablocks relevant to rendering, now it can be used to detect if any type of datablock was added or removed (but not yet to detect if it was modified, we need many more depsgraph tags for that). Most of the changes are some function parameter changes, the important parts are the DAG_id_type_tag calls. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D195
2013-12-12Code cleanup: indent preprocessor directives inside #ifdefSergey Sharybin
2013-10-03set mempool debug in the game-engine-player too. also remove redundant ↵Campbell Barton
mempool includes.
2013-08-04more consistent use of checks of BLI_open(), check 'fd < 0' rather then -1. ↵Campbell Barton
packedfile incorrectly treated 0 as an error value. best not be vague/sloppy with this.
2013-08-04add missing NULL checks from BKE_constraint_get_typeinfo(), so constraints ↵Campbell Barton
from the future dont crash. also remove some redundant NULL checks.
2013-07-24fix [#36262] Paste strip with video or sound content from another file ↵Campbell Barton
crashes Blender existing code was very stupid. - all ID pointers for clipboard strips are handled uniformly. - clipboard stores a duplicate ID pointer which are restored on paste. - restoring pointers... -- use ID's that are still in the database (copy&paste within the same file). -- fallback to name lookup. -- fallback to loading them from the original filepath (movie-clip and sound only). also fix bug pasting where initialing the sound wasn't done if there was no frame-offset.
2013-07-13fix bad uses of sizeof() with memory allocation.Campbell Barton
2013-05-09Changes to footage information panelSergey Sharybin
- Display additional information about channels and buffer type (float/byte). - Don't show frame number beyong sequence length. - Also fixed issues with footage length calculation, so it's pronbably will be needed to reload some of existing footages.
2013-04-08Camera stabilization fixes and improvementsSergey Sharybin
- Nearest interpolation was always used when there's no rotation for stabilization. Was a failure of optimization heuristic. - Made 2d stabilization frame acquiring threaded. This function is only used for display and sequencer which will only benefit of threads here. - Fixed bug introduced in r48749 which lead to re-making stable frame on every redraw.
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-04-04Clip editor prefetch changesSergey Sharybin
Made it an operator instead of automatic prefetching. Filling the whole memory with frames is not always desired behavior. Now prefetching is available via P-key, or from Clip panel in toolbox or from Clip menu. Also enabled prefetching for non-proxied movies.
2013-03-25Better handing of frames below actual sequence rangeSergey Sharybin
When trying to load file below actual sequence range (like trying to load file for scene frame 10 when clip's start frame is 20) first frame from file sequence is used. Before this change first file used to be loaded for every scene frame below start frame, which polluted memory with unwanted data. Now first frame would be loaded only once in this case.
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-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
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-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-15Skip doing frame undistortion if it's not needed for proxies.Sergey Sharybin
2013-02-28Fix own regression in commit from today -- missing NULL checkSergey Sharybin
Crash happened when sequence image failed to load.
2013-02-28Fix sequencer crash when pasteing strips after creating new fileSergey Sharybin
Issue happened for scene. movie clip and mask strips, which contains pointers to datablocks which are freeing on loading new file. Also, scene strip would crash when pasted from clipboard after scene was unlinked from file.
2013-02-28Fix memory leak when loading multilayer EXR as movie clipSergey Sharybin
Such kind of image sequences wouldn't be displayed still and supporting them would take some additional time, but for now it'll be no memory leak on attempt opening such images.
2013-02-18Force movie clips always use default alpha mode, before this straightSergey Sharybin
alpha was used for them which doesn't work for cleaned footage stored in EXR file format. Perhaps we need to support configurable alpha mode for clips, but that's for later (maybe even after release),
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-12-23Code cleanup: add usual 'BKE_' prefix to 'public' constraint functions from ↵Bastien Montagne
blenkernel...
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-05Change a way how image sequence/movie source is detecting for movie clipSergey Sharybin
Use IMB_testiffname to check whether file could be handled by ImBuf or whether it should be handled by anim routines. It solves the issue when file without extension is used for movie clip.
2012-10-18Fix #32896: No compositor tree update with image input color space changeSergey Sharybin