Jonathan Thomas
e0ec603965
Fixing Scale Mode (None) in previews ( #182 )
...
* Handle SCALE_NONE mode when optimized for previews (previews are often smaller than the project size)
* Fixing 2 memory leaks (thanks PeterM)
2019-01-09 00:56:49 -06:00
Jonathan Thomas
031c415c5f
Protect effects with critical (prevents crashing and freezing around transitions). Thanks Peter!
2018-09-21 17:11:56 -05:00
Jonathan Thomas
e879188a7d
FFmpeg 3 & 4 support, Travis CI support, OpenMP schedule change ( #160 )
...
* FFmpeg4 support. Compile warnings fixes. Credit goes to many people, including ferdnyc, peterM, and other awesome folks!
* Adding environment checking to enable/disable omp taskwait after each video/audio frame is processed. This is experimental for some users with crashes.
* Moving `omp taskwait` to after the ProcessVideoPacket() method, since that is the only place it is useful.
* Fixing crashes on missing Clip source file, and changing FFmpeg scaling algorthm from SWS_BILINEAR to SWS_LANCZOS (for higher quality scaling)
* Update FindFFmpeg.cmake module, and updating build script. Also enabling debug builds.
* Updating experimental travis build script
* Fixed unit test for newer version of FFmpeg (audio resampling)
* Experimental travis multiple jobs
* Adding OMP schedule hint (thanks PeterM), which prevents crashes in some circumstances.
2018-09-11 00:40:31 -05:00
Jonathan Thomas
2f45a4eb38
Adding new audio mixing enum, to allow for no automatic audio mixing, average mixing (where all overlapping clips average to 100% audio), or reduce mixing (where clips overlapping clips are all reduced by a constant value to reduce popping). ( #131 )
2018-06-27 01:35:38 -05:00
Jonathan Thomas
694ee7c24e
New experimental protections for FFmpegReader::GetFrame, and better frame ordering. Thanks @PeterM! ( #125 )
2018-06-21 02:44:08 -05:00
Jonathan Thomas
422f98a35b
Float max function
2018-06-11 22:45:31 -07:00
Jonathan Thomas
11a53e3292
Always use 1.0 as max_volume, unless greater than 1.0
2018-06-11 22:32:52 -07:00
Jonathan Thomas
04e4f63ea8
Calculate max volume of all overlapping clips, and scale clip volume to fit within the 100%, to prevent popping
2018-06-11 12:02:21 -07:00
Jonathan Thomas
bc5607910d
Fixing audio pops due to resampling (this fixes a bunch of audio popping-related bugs). Now Frame objects track their own max_audio_sample_count, as we add audio data... so we have an accurate bounds on each frame.
2018-05-30 03:20:31 -05:00
Jonathan Thomas
371dd73fe5
Update and apply frame mapper on any clip changes, to keep timeline offsets in sync (i.e. avoid audio popping due to slight misalignments of clips on the timeline). Also, avoid mixing audio for clips with no volume or disabled audio.
2018-01-06 01:55:42 -06:00
Jonathan Thomas
2b41ad9938
More experimental critial sections trying to prevent race conditions on high CPU core systems
2017-11-11 17:16:56 -06:00
Jonathan Thomas
30c0d48f56
Fixing regression (I think) with rotation origin. Things should always rotate around the center of an object (until I add in keyframable origin points)
2017-11-08 03:36:01 -06:00
Jonathan Thomas
2fcb35ddcc
Removing throw statements from header files (thanks Peter)
2017-10-26 18:44:35 -05:00
Jonathan Thomas
f0f1b92777
Reducing # of scale operations to 1 per layer on the timeline.
2017-10-26 18:15:16 -05:00
Jonathan Thomas
c95db460d6
Big update! Updating all "long int" frame number types to int64_t, so all 3 OSes will produce the same depth and precision on frame numbers. Also removing variable bitrate support temporarily, since it causes more problems than it solves.
2017-09-28 16:03:01 -05:00
Jonathan Thomas
f12ffe692b
Migrating tr1 to std, adding C++11 support to build scripts, fixing crash in FFmpegReader (caused by shared_ptr, buffer, and last_video_frame corruption). Much improved stability with this change. Thanks to Craig and Peter for the help!
2017-08-20 17:37:39 -05:00
Jonathan Thomas
b094ac8469
Fixing issue with incorrect image size caches, which results in blurry/smudgy scaling on certain things.
2017-07-27 02:25:20 -05:00
Jonathan Thomas
4e3dd937e2
Fixing audio pops when stacking multiple clips with different offsets (pretty big issue for some people, just depending on your source framerates and position/start of clips).
2017-07-16 23:58:16 -05:00
Jonathan Thomas
8f236200cc
Fixing another small issue when changing profiles
2017-05-26 01:08:20 -05:00
Jonathan Thomas
e899cbf39a
Fixing Timeline::SetJSON to use a lock, and reopen the reader if already open. This fixes an issue when trying to open another project while the current project is being accessed (i.e. during playback).
2017-05-18 17:04:34 -05:00
Jonathan Thomas
c89ad78e38
Adding additional lock on ClearAllCache method, to prevent crash
2017-05-18 02:48:00 -05:00
Jonathan Thomas
57dc7bc43a
Fixing broken gravity for GRAVITY_BOTTOM_LEFT
2017-03-26 12:49:27 -05:00
Jonathan Thomas
97ec6298ff
Adding frame number display options to a clip, which can be super useful when debugging issues. Options include: None, Clip, Timeline, or Both. Also improving missing frame detection, to have less false positives (i.e. flickering 1st frame)
2017-03-15 02:06:53 -05:00
Jonathan Thomas
905fbf42ec
Allow Timeline to use smaller frame/image sizes based on MaxSize (huge performance gain for previewing videos)
2017-03-14 11:42:05 -05:00
Jonathan Thomas
210d00c81f
Fixing big regression finding the correct starting frame for a clip... oops.
2017-03-11 00:51:43 -06:00