Jonathan Thomas
13bd272ead
Adding new settings class to be used for changing realtime settings used by libopenshot, such as scaling mode for preview vs final render, or hardware decode, etc...
2019-01-09 16:50:40 -06:00
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
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
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
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
851ad86634
Changing some sleep() calls to usleep(), for more accuracy. This is a bit experimental, and hopefully will work on all OSes.
2018-04-14 16:25:58 -05:00
Jonathan Thomas
0db54c8a2c
Fixing FFmpeg version breakage in FFmpegWriter
2018-03-29 01:29:10 -05:00
Jonathan Thomas
22384c7705
FFMPEG 3.2 support for FFmpegWriter (Thanks Peter!)
2018-03-28 15:09:55 -05:00
Jonathan Thomas
26e96e009b
Added in metadata encoding capabilities (writer.info.metadata["title"] = "My Title"). Only certain tag names are accepted (see FFmpeg for more on which tags are supported by which codecs).
2018-03-04 03:10:59 -06:00
Jonathan Thomas
2ea724373d
Experimental codec lookup by name in FFmpegWriter, which should solve a few issues (such as xvid support). Thanks Peter!
2017-11-10 01:02:01 -06:00
Jonathan Thomas
153279fbac
Setting timebase on video stream in FFmpegWriter... a bit experimental
2017-11-08 00:01:42 -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
8b8d91a687
Take 2 - Prevent crashes related to too many threads (on 24+ thread systems)
2017-08-21 16:36:22 -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
564664737a
Fixing crash on Ubuntu build server
2017-08-01 03:24:01 -05:00
Jonathan Thomas
f46611cd7d
Fixed a strange bug related to exporting image sequences. The filename property was not being set on the AVFormatContext. Also fixed a bug when exporting to JPEG image sequences related to max_b_frames and certain codecs.
2017-08-01 01:19:07 -05:00
Jonathan Thomas
8ea9b12b5e
Small change to memory allocation in FFmpegWriter, to be consistent
...
between different versions of FFmpeg/LibAV
2016-07-31 15:18:11 -05:00
Jonathan Thomas
d1aa4050e4
Memory leaks fixed on FFmpegWriter with regards to all_resampled_samples and correct usage of av_freep
2016-07-31 13:56:38 -05:00
Jonathan Thomas
9839899a60
Big memory leak fixes in FFmpegReader and FrameMapper, and fixed logic in Frame Mapper with regards to special framerate conversions (24, 25, and 30)... which were causing some inadvertent audio drift.
2016-07-27 13:18:55 -05:00
Jonathan Thomas
179d091005
Moved AppendDebugMessage to ZmqLogger, and updated 100+ references to use this new function. Removed debug var from readers/writers, and moved it to ZmqLogger.Enable(true/false). This allows debug output from all classes and functions, without any duplicate code. Also added some additional debug output for video playback and audio readers.
2016-04-21 01:39:17 -05:00
Jonathan Thomas
723bd24e5c
Adding new dependency: libzmq (ZeroMQ). Adding a new debug logging class powered by sockets and ZeroMQ, to allow a threadsafe way to communicate debug messages to a client application (i.e. openshot-qt). Also, removing unneeded Sleep.h functions. There will be lots more code utilizing ZeroMQ soon.
2016-04-04 23:09:18 -05:00