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-02-05Fix integer types in ImBuf leading to warningsSergey Sharybin
Replace `long long` with an explicit `int64_t`. This is also what is used in the FFmpeg headers. Fixes clang diagnostics warning about wrong format used in the log. Should be no functional changes.
2021-01-12Cleanup: replace 'long long' with int64_t in imbuf indexerCampbell Barton
2020-12-16VSE: Improve motion-picture workflowRichard Antalik
This commit resolves problem introduced in e1665c3d3190 - it was difficult to import media at their original resolution. This is done by using original resolution as reference for scale. All crop and strip transform values and their animation is converted form old files. To make both workflows easy to use, sequencer tool settings have been created with preset for preffered scaling method. This setting is in sequencer timeline header and add image or movie strip operator properties. Two new operators have been added: `sequencer.strip_transform_fit` operator with 3 options: Scale To Fit, Scale to Fill and Stretch To Fill. Operator can fail if strip image or video is not loaded currently, this case should be either sanitized or data loaded on demand. `sequencer.strip_transform_clear` operator with 4 options: Clear position, scale, rotation and all (previous 3 options combined). Reviewed By: sergey, fsiddi Differential Revision: https://developer.blender.org/D9582
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-08-08Cleanup: remove redundant return parenthesisCampbell Barton
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
2020-07-21Fix T78867: Crash related to viewing video filesSergey Sharybin
Any time FFmpeg was used to get a picture Blender would crash when FFmpeg 4.3 is used. This affects thumbnails, VSE, Clip Editor. Caused by a bug in FFmpeg which lead to crashes when unaligned buffer was passed to sws_scale(). It got fixed later on in FFmpeg, but for portability and compatibility reasons still nice to avoid crash, especially since it's not so difficult to do. FFmpeg ticked number is #8747 The FFmpeg Git hash with the fix: ba3e771a42c2 Differential Revision: https://developer.blender.org/D8355
2020-07-16Cleanup: undeclared function warning, unused argumentCampbell Barton
2020-07-13VSE: Python API, allow creation of VSE Movie strips with missing fileSybren A. Stüvel
It was already possible to create Sound and Image strips that reference non-existing files. Now it's also possible to create Movie strips referencing missing files via the Python API call `Sequences.new_movie()`. In this case, the duration of the strip will be set to 1 frame. Note that this commit does not change anything in the user interface. The Python API of the `MovieStrip` class is extended with a function `reload_if_needed()`. This function only performs disk I/O if the movie strip cannot produce frames, that is either when its filepath points to a non-existing file, or when the video sequence editor has not been shown yet (for example because it is in an inactive workspace). This allows for the following: ``` import bpy scene = bpy.context.scene vse = scene.sequence_editor_create() filepath = bpy.path.abspath('//demo.mkv') strip = vse.sequences.new_movie("movie", filepath, channel=2, frame_start=47, file_must_exist=False) strip.frame_final_end = 327 ``` This will create a new movie strip, even when `demo.mkv` does not exist. Once `demo.mkv` has appeared at the expected location, either `strip.reload_if_needed()` or `strip.filepath = strip.filepath` will load it. Differential Revision: https://developer.blender.org/D8257 Reviewed By: Sergey, ISS
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-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Cleanup: Prepare for sorted headers on windowsRay Molenkamp
To prepare for D6811 small changes were needed. we can no longer undefine near/far since the windows headers use those extensively. some of the imbuf files need to include the windows headers explicitly to make sure it builds.
2019-09-19Cleanup: rename anim::duration to anim::duration_in_framesSybren A. Stüvel
Units should be explicit, and not left to be guessed by the reader. The field is only used in a single C file, so it's a relatively low-risk change.
2019-09-19Fix T68091: Adding a corrupt video crashes/confuses BlenderSybren A. Stüvel
The problematic video from T68091 clearly has an invalid stream duration (it would be 55 centuries long if interpreted at 30 FPS, and given that it was recorded with an Android 9 device, it's unlikely that recording started that long ago). I've added a heuristic to check the stream duration against the container duration; if the stream is more than 4x longer than the container, Blender now falls back to the container duration. We could use MIN(stream duration, container duration), but there might be video files out there where the container duration is less precise than the stream duration; they are measured in different units of time (microseconds for the container vs. frames for the stream). Includes a unit test for the above heuristic. Reviewed by: jbakker Differential revision: https://developer.blender.org/D5853
2019-09-19Use FFmpeg's own `av_guess_frame_rate()` function instead of guessing ourselvesSybren A. Stüvel
This was introduced in FFmpeg lavf 55.1.100 in 2013. For systems that are still on LibAV or older FFmpeg there is a fallback implementation that performs the same guess as we did before in `av_get_r_frame_rate_compat()`.
2019-09-19Cleanup: don't index the same array multiple timesSybren A. Stüvel
There is now a clearer distinction between `video_stream` (the stream itself) and `video_stream_index` (its index), and no more repetition of accessing the same item of an array. This also makes the code a bit more readable in preparation for an upcoming functional change.
2019-06-17Cleanup: comment spellingCampbell Barton
2019-05-31Cleanup: style, use braces in source/Campbell Barton
Automated using clang-tidy.
2019-05-01ClangFormat: run with ReflowComments on source/Campbell Barton
Prepare for enabling ReflowComments.
2019-04-23Cleanup: style, use braces for imbufCampbell Barton
2019-04-21Cleanup: comments (long lines) in imbufCampbell 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-03-25Cleanup: pass const image data to IMB_ibImageFromMemoryCampbell Barton
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
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.
2019-01-03Cleanup: preprocessor indentationCampbell Barton
2018-09-03Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3668
2018-07-17Fix T56003: Opening image files as movies in VSE crashes.Bastien Montagne
metadata loading code was assuming all videos in Blender were from FFMPEG... added empty place-holders for other types too, we probably could load some metadata from pictures or AVI files too!
2018-06-17Cleanup: trailing space for imbuf moduleCampbell Barton
2018-04-05Load metadata from video files and expose via RNASybren A. Stüvel
The MovieSequence and MovieClip classes now have a metadata() function that exposes the `IDProperty *` holding the video metadata. Part of: https://developer.blender.org/D2273 Reviewed by: @campbellbarton
2018-04-02Cleanup: move BKE_global include under ifdef'sCampbell Barton
2018-04-02imbuf: revert some of the changes of ↵Ray Molenkamp
rBb6ba3c682dd6615e760905572a5bcd69bb46371f since they broke the build.
2018-04-01Cleanup: remove global headerCampbell Barton
2018-03-09Fix T53857: Incorrect framerate for videos imported from OBSSergey Sharybin
This is an issue with which value to trust: fps vs. tbr. They both cam be somewhat broken. Currently the idea is: - If file was saved with FFmpeg AND we are decoding with FFmpeg we trust tbr. - If we are decoding with Libav we use fps (there does not seem to be tbr in Libav, unless i'm missing something). - All other cases we use fps. Seems to work all good for files from T53857, T54148 and T51153. Ideally we would need to collect some amount of regression files to make further tweaks more scientific. Reviewers: mont29 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D3083
2018-01-26IMB: Add asserts that returned fps and fps base are strictly positives.Bastien Montagne
Forgot to add that in previous commit, also related to T53003.
2018-01-26Fix T53003: IMB: Invalid framerate handling due to short integer overflow.Bastien Montagne
FFMPEG uses int for the numerator, while Blender uses a short. So in cases people gave weird exotic framerate values and we cannot reduce enough the numerator, we'd get totally weird values (even negative frame rates sometimes!) Now we add checks for short overflow and approximate as best as possible in that case (error should not matter unless you have shots of at least several hundreds of hours ;) ).
2017-09-22Remove quicktime supportAaron Carlisle
It has been deprecated since at least macOS 10.9 and fully removed in 10.12. I am unsure if we should remove it only in 2.8. But you cannot build blender with it supported when using a modern xcode version anyway so I would tend towards just removing it also for 2.79 if that ever happens. Reviewers: mont29, dfelinto, juicyfruit, brecht Reviewed By: mont29, brecht Subscribers: Blendify, brecht Maniphest Tasks: T52807 Differential Revision: https://developer.blender.org/D2333
2017-09-14Fix T52739: Crash loading corrupted video filesSergey Sharybin
Affects both "normal" open as a video file and thumbnail generation.
2017-05-27Remove MinGW supportAaron Carlisle
The Issue ======= For a long time now MinGW has been unsupported and unmaintained and at this point, it looks like something that we should just leave behind and move on. Why Remove ========== One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based. However, now that this is no longer true we have basically stopped updating the need CMake files. Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see: https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch If we wanted to keep MinGW then we would need to make more custom patches to the external libs and this is not something our platform maintainers are willing to do. For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3 Fixes T51301 Differential Revision: https://developer.blender.org/D2648
2016-10-12FFmpeg: Fix off by one error in number of detected frames in matroska containerSergey Sharybin
Seems to be rounding error. Hopefully new code handles the error fixed back in SVN revision 28901 and still have proper frame number for Hjalti. What could possibly go wrong here..
2016-03-18Fix T47806: Blender animation player stop working correctly with XVID codecSergey Sharybin
Something weird, seems some buffers _might_ be shared between codec context and frame, which is quite weird. Could be a bug in FFmpeg or could be wrong API usage somewhere else..
2016-03-17ImBuf: Some tweaks to FFmpeg frame free policySergey Sharybin
Th intention is to make sure we don't free buffers which were not allocated by FFmpeg. This is a possible fix for T47806.
2016-03-15ImBuf: Use proper function to free FFmpeg framesSergey Sharybin
2016-03-15Fix T47724: VSE crops video if horizontal resolution isn't divisible by 8Sergey Sharybin
In fact, some areas in FFmpeg might require alignment up to 32, so now we make temporary conversion in an aligned frame. We only do this if width is not aligned to 32.
2016-03-15Fix T47724: VSE crops video if horizontal resolution isn't divisible by 8Sergey Sharybin
Revert "Fix T47724: VSE crops video if horizontal resolution isn't divisible by 8" This reverts commit 606f6b79eabca236b933dd76e5425162e26ba105.
2016-03-10Fix T47724: VSE crops video if horizontal resolution isn't divisible by 8Sergey Sharybin
This is a bit annoying, but FFmpeg can't deal with unaligned arrays in some cases. There seems to be an easy workaround with using SWS_ACCURATE_RND flag which should be harmless since we don't really scaling frames, but only using sws_scale to change color space. Additionally, this is what VLC is also using.
2016-02-20ImBuf: Solve re-definition warningsSergey Sharybin
The idea now is to have FFmpeg/OIIO headers listed after the system ones. This is because FFmpeg/OIIO might define some constants with the same name as the ones from math.h. FFmpeg/OIIO has ifdef around defines, but math.h doesn't check whether constants were already defined or not, which causes some noisy warnings.
2016-02-16Make Blender compilable with FFmpeg-3.0Sergey Sharybin
While it's not something we'll be using for the official release, it's nice to support new libraries at least on "it compiles" level, so it's not that many frustrated developers around. Nexyon, please have a look into Audaspace changes :)