617 Commits

Author SHA1 Message Date
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
b63a63ceb2 Fix many bugs around FPS and video length calculation (especially for MP3 and streaming WEBM formats). Also protecting samples_per_frame calculation to keep from crashing on undetected FPS. 2018-09-17 00:27:30 -05:00
Jonathan Thomas
6b37ad7e1d Limiting threads for both FFmpeg and OpenMP (attempting to find a good balance of parallel performance, while not spawning too many threads). Sometimes more is not always better. 2018-09-11 10:48:30 -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
526be42a8d Merge branch 'develop' into fix-install-paths 2018-08-08 02:19:09 -05:00
Jonathan Thomas
d11f14b0dc Merge branch 'develop' into fix-install-paths 2018-08-08 02:15:11 -05:00
Jonathan Thomas
7a20aae58f Merge branch 'develop' into fix-ffmpeg3_2-empty-frames 2018-08-08 02:11:34 -05:00
Jonathan Thomas
da01a2c4cb Adding "reader" property for Mask effect, to allow the user to adjust the image or video used by the mask effect. 2018-08-02 00:42:14 -05:00
Jonathan Thomas
435932f415 Fixing another issue where larger FPS files are incorrectly changed to a different FPS 2018-08-02 00:40:44 -05:00
Jonathan Thomas
93c1e2eb49 Fixing bitrate calculation (to be in bytes instead of bits), and adding in FPS detection for files which don't have valid FPS. In those cases (streaming files for example), we iterate through all packets, and average the # of frames, duration, bit rate, etc... Not idealy, but a better fallback. 2018-07-25 02:24:01 -05:00
Jeff Shillitto
a92ed9fb03 Fix bug with FFmpeg > 3.2 flushing frames
Final frames stored in buffer need to be flushed/drained so that they
can be written to the video file. Credit to Peter for the update.
2018-07-16 21:18:35 +10:00
Jonathan Thomas
cc17315fa7 Merge branch 'develop' into release 2018-06-29 23:48:47 -05:00
Jonathan Thomas
9972600931 Default to AAC audio codec (#135)
* Adding strict experimental to FFmpegReader and Writer (hopefully allowing all the encoders to be used)

(cherry picked from commit 1bcd1e5)

* init all formats and codecs before checking if valid

(cherry picked from commit 7250226)
2018-06-29 15:06:34 -05:00
Jonathan Thomas
ef1fb6320b Add new static function to determine if video/audio codecs names are valid (#134) 2018-06-28 21:57:56 -05:00
Jonathan Thomas
588302f594 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) (#132)
(cherry picked from commit 2f45a4e)
2018-06-27 01:54:34 -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
0056c9c2a4 Fix logic for 3 of the 4 blur parameters (#118) (#126)
(cherry picked from commit 9ae61e5)
2018-06-21 23:50:24 -05:00
Richard Alloway
9ae61e50b0 Fix logic for 3 of the 4 blur parameters (#118) 2018-06-21 23:41:36 -05:00
Jeff Shillitto
f2fe1da2d4 Merge branch 'develop' into fix-install-paths 2018-06-21 21:45:52 +10: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
Jeff Shillitto
b5f6897f5d Merge branch 'develop' into fix-install-paths 2018-06-19 19:07:26 +10:00
Jonathan Thomas
8b4126e360 Adding python bindings to GitLab build artifacts (to prevent install target on build server) (#120)
* Prevent a negative starting sample when adding audio to a frame

* Move critical sections to prevent crash on Windows

* Integrate custom libopenshot branches into GitLab build pipeline. Also, download previous artifacts from same branch name, and default to develop if not found.

* Adding conditional download of artifacts... use current branch name first, and then fallback to develop artifacts. This is to help the build pipeline support all branches.

* Re-adding master to gitlab pipeline

* Update Frame.cpp

Fixing merge error

* Update Version.h

Reverting version for develop branch

* Make python install target overridable via env variable

* Fixing audio unit tests

* Making linux builds automatic again

* Another attempt to collect python installed files as artifacts

* Changing python windows powershell syntax

* Testing new powershell syntax
2018-06-17 10:53:50 -07:00
Jonathan Thomas
d8aa28ba6e Adding python bindings to GitLab build artifacts (to prevent install target on build server) (#119)
* Make python install target overridable via env variable

* Fixing audio unit tests

* Making linux builds automatic again

* Another attempt to collect python installed files as artifacts

* Changing python windows powershell syntax

* Testing new powershell syntax
2018-06-17 10:29:17 -07:00
Jonathan Thomas
f4b4aac7df Update Frame.cpp
Fixing merge error
2018-06-11 23:36:23 -07:00
Jonathan Thomas
805304312a Merge branch 'develop' into feature/new-audio-mixing 2018-06-11 23:32:05 -07:00