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
2020-05-22Fix T76774: Crash on prefetching sequences from another scene.Richard Antalik
When rendering another scene, caching in disabled by setting local_context.skip_cache = true. Precondition checking for this flag was missing in BKE_sequencer_cache_get and it wasn't first thing to check in BKE_sequencer_cache_put. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7750
2020-05-02Cleanup: Fix return NULL from bool type functionRichard Antalik
2020-05-01Fix T76033: VSE crash with prefetch, disk cache and meta stripsRichard Antalik
`BKE_sequencer_prefetch_get_original_sequence()` didn't look in metas and returned NULL. This caused crash in disk cache that was trying to read seq->name. Add function that will look in meta strips recursively and condition that seq must not be NULL. Reviewed By: brecht Maniphest Tasks: T76033 Differential Revision: https://developer.blender.org/D7597
2020-04-12Fix T74875: Preview shows previously cached frame after Hard CutRichard Antalik
Add method to invalidate strip cache in range of non-overlapping strip. Invalidate original strip in range of new strip created by cutting. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7313
2020-04-07Cleanup: BLI_path.h function renamingCampbell Barton
Use BLI_path_ prefix, more consistent names: BLI_parent_dir -> BLI_path_parent_dir BLI_parent_dir_until_exists -> BLI_path_parent_dir_until_exists BLI_ensure_filename -> BLI_path_filename_ensure BLI_first_slash -> BLI_path_slash_find BLI_last_slash -> BLI_path_slash_rfind BLI_add_slash -> BLI_path_slash_ensure BLI_del_slash -> BLI_path_slash_rstrip BLI_path_native_slash -> BLI_path_slash_native Rename 'cleanup' to 'normalize', similar to Python's `os.path.normpath`. BLI_cleanup_path -> BLI_path_normalize BLI_cleanup_dir -> BLI_path_normalize_dir BLI_cleanup_unc -> BLI_path_normalize_unc BLI_cleanup_unc16 -> BLI_path_normalize_unc16 Clarify naming for extracting, creating numbered paths: BLI_stringenc -> BLI_path_sequence_encode BLI_stringdec -> BLI_path_sequence_decode Part of T74506 proposal.
2020-03-25Fix T74662: Prefetching causes random crashesRichard Antalik
Caused by 18b693bdbd6b, due to lack of thread safety. Beteween calling BKE_sequencer_cache_get_num_items and BKE_sequencer_cache_iterate New items could be inserted in the cache. BKE_sequencer_cache_iterate() now use 2 callbcack functions for initial setup during which buffers with correct length can be initialized and finally iterating. Additionally drawing of unselected items was fixed again introduced in 18b693bdbd6b. T74662 is reporting quite different symptoms, than I get on my machine, so I am not entirely sure this is complete fix. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7220
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-19Cleanup: spellingCampbell Barton
2020-03-19Fix building on Linux as '__time64_t' isn't portableCampbell Barton
2020-03-19VSE: Disk cacheRichard Antalik
This patch implements dumping images from cache to HDD. The main goal of this system is to provide a means to achieve consistent playback speed mainly for strips that are not possible to preview in real time. How to use: Disk cache has own settings in user preferences for path to storage, size limit and compression level. To use disk cache, you need to check `Use Disk Cache` box, set `Disk Cache Directory`, `Disk Cache Limit` and save or open existing .blend file. By default sequencer output will be cached only. Manual setting is possible in cache panel. Uses: - Replacement or alternative for proxies. Disk cache will work with any strip type, supports float images as well. - Storage for strip thumbnails. - Less RAM needs to be allocated for preview cache How it works: Disk cache is extension of RAM cache. Every image, that is stored or deleted in RAM will be stored or deleted on HDD as well. Images can be compressed to save space and for use on slower drives. Compressed images are slower to write and read though. Images are stored in bulk of 100 rendered frames per one file. This is to overcome slow file access time for large amount of files. Drawback is, that if one frame needs to be redrawn, all 100 frames are deleted. Reviewed By: sergey Differential Revision: https://developer.blender.org/D5524
2020-03-15Cleanup: redundant assignmentsCampbell Barton
2020-02-17Fix T70229: Show Cache On will cause a lower fpsRichard Antalik
Use gpu batch drawing for cache content in VSE. Immediate drawing caused significant dorp in framerate. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6835
2019-10-02Fix T69924: Prefetch stops when moving playheadRichard Antalik
Fix T70194: Prefetch freezes Blender in some cases - Initialize depsgraph in isolated bmain struct. - Fix prefetching range (forgot in initial prefetch commit). - Fix crash - Add check if prefetch job is initialized and running. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5899
2019-09-30Cleanup: spellingCampbell Barton
2019-09-14VSE: quiet missing prototype warningsJacques Lucke
2019-09-14VSE: prefetchingRichard Antalik
When enabled prefetching(preview panel>view settings), a pernament running job is created, that will render frames in the background until the cache is full. If the cache is not filled fast enough, prefetch job suspends itself at the last moment and will wait until it has chance to "catch up". Effectively this will decouple rendering to separate thread, so rendering itself is a bit faster. Cache recycling behavior will be changed to "free furthest frame to the left of playhead if possible, otherwise rightmost frame". Reviewed By: brecht Differential Revision: https://developer.blender.org/D5386
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-05-23VSE: minimal cache invalidationRichard Antalik
2019-05-21VSE: Don't store `cfra` in cacheRichard Antalik
Strips can move in time. Using cfra may give us erratic results. Reviewed by: brecht Differential Revision: https://developer.blender.org/D4898
2019-05-01ClangFormat: run with ReflowComments on source/Campbell Barton
Prepare for enabling ReflowComments.
2019-04-29VSE: Cache rewriteRichard Antalik
This patch implements new cache system. Aim is to give user more control over cache, so it can be maximally utilized. This is done through sequencer timeline side panel in category proxy & cache. Cached images are also visualized in timeline, controled by sequencer timeline view->cache menu Functional changes: - NOT use IMB_moviecache API - refactor names of cached image types - each scene owns 1 sequencer cache - merge preprocess cache into per-sequencer cache - cache links images rendered per frame in order as they are created - add cache content visualization tool - add RNA properties to control the cache More info can be found in design notes in blenkernel/intern/seqcache.c and in https://developer.blender.org/D4443 Reviewed By: brecht Differential Revision: https://developer.blender.org/D4443
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2015-08-09Fix for SeqCache hash ignoring multi-viewCampbell Barton
Thanks to @chadf for finding
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2015-02-11cleanup: rename enum type to blender conventionCampbell Barton
2015-01-01cleanup: redundant casts & const cast correctnessCampbell Barton
2014-09-25GHash: use bool for comparison (simplify compare)Campbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-01-18Send sequencer render context as const pointer rather than as valueSergey Sharybin
No functional changes just creepy to send rather huge structure by value.
2014-01-17Sequencer: don't cache frames during proxy rebuild jobSergey Sharybin
2013-12-13Image cache rewrite to using generic movie cacheSergey Sharybin
Summary: Behaves very much the same as cache for Movie Clip datablock: - Image now have `MovieCache *cache` field which replaced legacy `ListBase ibufs`. This allows image datablock to easily keep of image buffers which are owned by itself. This field isn't saved to the file and getting restored on undo steps. However, cache limit is global for movies, sequences and image datablocks now. So overall cached image buffers size will not go above cache limit size in user preferences. - Image buffers which are marked as BITMAPDIRTY will never be freed from the cache. - Added utility function to iterate over image buffers saved in movie cache. - Movie cache cleanup check callback now have ImBuf argument which can be used in a condition of cleanup. - Added some utility functions which replaces legacy ibufs iterations with image cache iteration which happens from inside a lock. - Fixed `image_mem_size()` which was only counting one of the buffers if both float and byte buffer present. Additional notes: - `BKE_image_get_first_ibuf()` is rather stupid, but direct access to ibufs->first was also the same stupid idea. Would consider avoid this function is another project. - There are some places which doesn't look threadsafe, but they already were not so much threadsafe anyway before. So think not a big deal with solving this later. Finally solves infinite memory usage by image sequences! :) Reviewers: brecht, campbellbarton Reviewed By: brecht CC: sebastian_k Differential Revision: http://developer.blender.org/D95
2013-05-28move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)Campbell Barton
remove MEM_sys_types.h which was a duplicate.
2013-03-08style cleanupCampbell Barton
2012-08-21Sequencer: invalidate current frame cache on sequence transformSergey Sharybin
2012-08-20Sequencer: fix regression introduced in own previous commitSergey Sharybin
Invalidate preprocessed cache when when global sequencer cache is begin invalidated. This is needed so scene would be rendered with a proper settings, not taken from preprocess cache.
2012-08-19Sequencer: per-sequence modifier stack for color gradingSergey Sharybin
This implements basic color grading modifiers in sequencer, supporting color balance, RGB curves and HUE corrections. Implementation is close to object modifiers, some details are there: http://wiki.blender.org/index.php/User:Nazg-gul/SequencerModifiers Modifiers supports multi-threaded calculation, masks and instant parameter changes. Also added cache for pre-processed image buffers for current frame, so changing sequence properties does not require rendering of original sequence (like rendering scene, loading file from disk and so)
2012-08-12Fix sequencer crash when invalidating strip when there's nothing cached yetSergey Sharybin
2012-08-08Sequencer: initial support of refreshing only changed sequencesSergey Sharybin
Before this the the whole sequencer cache would be invalidated when hanging sequence settings. This was completely annoying because changing color balance settings would re-load image file for which color balance is happening on every change, In fact it's still an issue if color balance is changing for image strip itself, but if this strip has got effect and color balance is changing for it file wouldn't be reloaded.
2012-08-08Code cleanup: make some more functions more meaningful nameSergey Sharybin
2012-08-08Style cleanupSergey Sharybin
2012-08-08Code cleanup: BKE_ prefix for public sequencer functionsSergey Sharybin
2012-08-08Code cleanup: mark functions as static, ifdef 0 some unused functionsSergey Sharybin
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-06-10style cleanup: use capital camel case names for typedef'sCampbell Barton
2012-06-07style cleanupCampbell Barton
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's