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
2021-11-22Moviecache: Fix potential memory corruption.Jeroen Bakker
`IMB_moviecache` is implemented as a singleton. When destructing the singleton via `IMB_moviecache_destruct` it will not be created anymore resulting inusage of unallocated memory and potentional memory corruption. When running blender this doesn't happen, but when creating images in test cases the moviecache should be able to be recreated after it is destroyed. Reviewed By: sergey Differential Revision: https://developer.blender.org/D13287
2021-11-19Cleanup: fix typos in comments and docsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D13264
2021-11-15VSE: Use early out for aplha over blendingRichard Antalik
When scaling down image, users expect to see background, which doesn't currently happen in VSE. This is because strips use cross blend mode by default, because alpha over is much slower. Reason is, because any area of image can be transparent, and therefore it can't have early out implemented in a way that cross blend mode can. Flag images rendered by codecs that don't support transparency as fully opaque and implement a form of early out for alpha over blend mode. When rendering image stack, 2-input effects are ignored on the "way down". Alpha over needs rendered overlay image to decide whether it will use only overlay or background too. Therefore overlay can be rendered safely before it is used. Image flags can be checked and it can be freed if needed. Freeing doesn't cause any performance degradation, because image is always stored in cache. This feature does not improve blend mode performance. In summary, it only allowes for having alpha over blend mode on background images without suffering from lower performance. Reviewed By: sergey Differential Revision: https://developer.blender.org/D12914
2021-11-15Merge branch 'blender-v3.0-release'Richard Antalik
2021-11-15Fix T91405: Block artefacts in WEBM videoRichard Antalik
Issue was caused by incorrect FFmpeg asynchronous decoding API. In most cases, decoder returns 1 frame each time it is fed by 1 packet. Here decoder wanted to return more frames, but our code always expected only one. Before sending new packets to decoder, check if there are frames to receive. If there are, process them, otherwise continue decoding as usual. Reviewed By: zeddb, sergey Differential Revision: https://developer.blender.org/D13079
2021-11-13Cleanup: Correct order of guard and lock in moviecache_valfreeJesse Yurkovich
Fix own mistake in rB7061d1e39fe In my attempt to quickly address T92838, along with the original bug, I made a nonsensical choice to use the limiter lock to guard the check against the cache item itself. While harmless, it is not necessary and semantically wrong / potentially confusing to future readers of the code. Differential Revision: https://developer.blender.org/D13122
2021-11-09Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-09Fix T92934: crash rendering with wrong image pathJacques Lucke
These null checks were missing in rB0c3b215e7d5456878b155d13440864f49ad1f230. Differential Revision: https://developer.blender.org/D13157
2021-11-05Fix T92740: Missing lock around the image CacheLimiterJesse Yurkovich
A recent change exposed this long-standing race. Simply protect the MEM_CacheLimiter with its lock now. Additionally, guard against unmanaging an already destroyed cache handle. Ref T92740, T92838
2021-11-02Images: fix error in previous refactorJacques Lucke
Some compositor tests (e.g. `compositor_color_test`) broke because of rB0c3b215e7d5456878b155d13440864f49ad1f230. The issue was a heap-use-after-free bug caused by a missing call to `MEM_CacheLimiter_unmanage`.
2021-11-02Images: refactor how failed image load attempts are rememberedJacques Lucke
Previously, `ImageTile->ok` and `ImageUser->ok` were used to indicate whether an image failed to load. There were three possible values which (probably) had the following meanings: * `0`: There was an error while loading the image. Don't try to load again. * `1`: Default value. Try to load the image. * `2`: The image was loaded successfully. This image-wide flag did not make sense unfortunately, because loading may work for some frames of an image sequence but not for others. Remember than an image data block can also contain a movie. The purpose of the `->ok` flag was to serve as an optimization to avoid trying to load a file over and over again when there is an error (e.g. the file does not exist or is invalid). To get the optimization back, the patch is changing `MovieCache` so that it can also cache failed load attempts. As a consequence, `ibuf` is allowed to be `NULL` in a few more places. I added the appropriate null checks. This also solves issues when image sequences are used with the Image Texture node in Geometry nodes (also see D12827). Differential Revision: https://developer.blender.org/D12957
2021-10-22Fix VSE left crop not workingRichard Antalik
Caused by using 3D math on 2D vectors, violating memory boundaries. Use temporary float[3] variable.
2021-10-20Cleanup: use elem macrosCampbell Barton
2021-10-16Remove math for 2D affine transformRichard Antalik
Commit e1665c3d3190 added math to do 2D affine transformations with 3x3 matrices, but these matrices are also used for 3D transformations. Remove added functions and use 4x4 matrices for 2D transformation. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12510
2021-10-12Cleanup: spelling in commentsCampbell Barton
2021-10-06Cleanup: spelling in commentsCampbell Barton
2021-10-06Cleanup: spelling in commentsCampbell Barton
2021-10-05Cleanup: Make anim_getnew in the VSE less confusingSebastian Parborg
It was using dummy image buffers to indicate if an animation container could be initialized or not. Use booleans instead.
2021-10-04Cleanup: use system includesCampbell Barton
2021-10-03Cleanup: spelling in stringsCampbell Barton
2021-10-01Cleanup: clang-tidy warningsCampbell Barton
2021-09-24Cleanup: spelling in commentsCampbell Barton
2021-09-23Fix build error caused by typoHans Goudey
2021-09-23Fix T91638: image editor Open Cached Render not loading some passesBrecht Van Lommel
Previously this was only loading built-in render passes. Now instead of trying to load the scene render passes, load whatever passes exist in the cache file.
2021-09-23Cleanup: spelling in commentsCampbell Barton
2021-09-18Audaspace: added audio file streams functionality.Jörg Müller
On the blender side this commit fixes importing video files with audio and video streams that do not share the same start time and duration. Differential Revision: https://developer.blender.org/D12353
2021-09-06Cleanup: use pre-calculated size variableCampbell Barton
Oversight in a0912ff5663b950222ef00485a3853bfb6001db4
2021-09-06ImBuf: add IMB_allocFromBufferOwn that takes ownership of the bufferCampbell Barton
Avoids duplicating the image buffer when saving thumbnails.
2021-09-06Cleanup: support passing in arbitrary buffers to IMB_allocFromBufferCampbell Barton
Also remove IB_metadata flag from the resulting imbuf as this image has no meta-data.
2021-09-06UI: Increase Size of Blend File ThumbnailsHarley Acheson
Increase effective resolution of blend preview images from 128x128 to 256x256 for versions saved in the file system thumbnail cache. See D10491 for details and examples. Differential Revision: https://developer.blender.org/D10491 Reviewed by Campbell Barton
2021-08-28Fix error scaling thumbnails to zero dimensionsCampbell Barton
Follow up to fix for T89868.
2021-08-26Cleanup: use C style comments for descriptive textCampbell Barton
2021-08-25Cleanup and remove SEQ_ALL_BEGIN macroSebastian Parborg
We now use a for_each function with callback to iterate through all sequences in the scene. This has the benefit that we now only loop over the sequences in the scene once. Before we would loop over them twice and allocate memory to store temporary data. The allocation of temporary data lead to unintentional memory leaks if the code used returns to exit out of the iteration loop. The new for_each callback method doesn't allocate any temporary data and only iterates though all sequences once. Reviewed By: Richard Antalik, Bastien Montagne Differential Revision: http://developer.blender.org/D12278
2021-08-25Cleanup: else-after-returnJacques Lucke
2021-08-25T90908: Reduce loading times when extracting thumbnails from Blendfiles.Jeroen Bakker
Previously when loading an thumbnails for an asset the whole file was read. Reason this was done was perhaps a future idea to load all thumbnails inside a blendfile in a single go. This was never implemented and currently unneeded disk and cpu cycles was spend with finding out what preview to load. This patch adds an early break when the thumbnail that the caller is interested in has been found. This improves the thumbnail extraction when looking into large files. Reviewed By: mont29 Maniphest Tasks: T90908 Differential Revision: https://developer.blender.org/D12312
2021-08-25Cleanup: separate IMB_thumb_load_blend in multiple functions.Jeroen Bakker
2021-08-16Fix T87967: M2T video seeking is brokenRichard Antalik
Bug caused by integer overflow in ffmpeg_generic_seek_workaround(). Function max_ii() was used to limit int_64tvalue. After fixing the issue there was another issue, where near-infinite loop was caused by requested_pos being very large and stream being cut in a way, that it was missing keyframe at beginning. This was fixed by checking if we are reading beyond file content. Reviewed By: zeddb Differential Revision: https://developer.blender.org/D11888
2021-08-16VSE: Fix audaspace not reading ffmpeg files with start offset correctlySebastian Parborg
The duration and start time for audio strips were not correctly read in audaspace. Some video files have a "lead in" section of audio that plays before the video starts playing back. Before this patch, we would play this lead in audio at the same time as the video started and thus the audio would not be in sync anymore. Now the lead in audio is cut off and the duration should be correctly calculated with this in mind. If the audio starts after the video, the audio strip is shifted to account for this, but it will also lead to cut off audio which might not be wanted. However we don't have a simple way to solve this at this point. Differential Revision: http://developer.blender.org/D11917
2021-08-16VSE: Fix seeking issues.Sebastian Parborg
The seek pts was not correctly calculated. In addition to that we were not seeking in the video pts time base. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D11921
2021-08-16VSE: Fix video strip duration calculationSebastian Parborg
The video duration was not read correctly from the video file. It would use the global duration of the file which does in some cases not line up with the actual duration of the video stream. Now we take the video stream duration and start time into account when calculating the strip duration. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D11920
2021-08-12Cleanup: use C++ style comments for disabled codeCampbell Barton
2021-08-06Cleanup: use MEM_SAFE_FREE macroCampbell Barton
2021-08-04Cleanup: initialize variable to quiet warningJacques Lucke
2021-08-04Cleanup: use C comments for descriptive textCampbell Barton
2021-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton
2021-07-23Cleanup: code comments punctuation / spacingCampbell Barton
2021-07-20Cleanup: reserve C++ comments for disabled codeCampbell Barton
Use C comments for plain text.
2021-07-18Fix T89868: Crash showing thumbnail of wide-aspect imageJesse Yurkovich
Scaling down images could create images with a width or height of zero. Clamp at 1 to prevent a crash, also add an assert to scaling functions. Ref D11956
2021-07-16Fix T70356: Scaling up 1x1 pixel image reads past buffer boundsCampbell Barton
Also resolve a crash when when displaying thumbnails, see T89868.
2021-07-16Cleanup: sort struct declarationsCampbell Barton