Commit Graph

19 Commits

Author SHA1 Message Date
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
f00ea5c4e2 Reverting logging code in unittests 2016-09-08 22:26:14 -05:00
Jonathan Thomas
badb1450d2 Adding additional logging to unittests, to help find an issue on certain systems 2016-09-08 02:33:24 -05:00
Jonathan Thomas
ce47a5b667 Fixing a small regression with the new unit test Tests.h header. 2015-09-28 22:17:29 -05:00
Jonathan Thomas
66c5ced902 Windows now passes most unit tests. Added header macro to assist on passing correct test media paths to unit tests. Also added a new info parameter has_single_image, which is used to optomize the frame mapper class for images with long durations. 2015-09-28 22:05:50 -05:00
Jonathan Thomas
b612f3339d Replaced ImagMagick with QImage on almost all key methods and classes. Reprogrammed all effects and the entire rendering pipeline to use QImage and QTransforms, primarily for increases in speed and stability. libopenshot is more than 10X faster on many of the most CPU heavy tasks. This was a huge change, and still has a few minor issues relating to BlackMagick Decklink and Text rendering.... which should be resolved very soon.
Also, much work has been done on memory management / leak detection, and optimizations with multi-threading... including a new thread cacher class used by the video playback (which is smoother than ever).
2015-06-01 00:20:14 -07:00
Jonathan Thomas
820e8a2095 Fixed a few more issue with the openshot::FrameMapper and openshot::FFmpegReader unit tests. 2015-03-08 22:24:12 -05:00
Jonathan Thomas
86561aed22 Fixed a huge bug when closing a reader and re-opening it. Added some new unit tests to test for that bug, as well as check the ordering of layers and effects. Improved opening and closing of openshot::Clip->Reader() to better support multiple threads. 2015-02-19 01:03:22 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
a229ced036 Added new usleep method for Windows, and improved speed of Seek() operation on the FFmpegReader. Also added some Seek unit tests. 2014-04-03 22:35:25 -05:00
Jonathan Thomas
5010f6252a Replaced all copyright and licensing to reflect AGPLv3 license. Also, added a bad ass version header, which is now integrated into CMake as well. A single place to indicate version and ABI/API compatibility. 2014-03-29 18:49:22 -05:00
Jonathan Thomas
e2f5ca8a69 Removed Framerate class, since its functionality is already represented in the Fraction class. Also, corrected a few unittests, and updated some documentation. 2014-01-05 23:12:56 -06:00
Jonathan Thomas
97a4f903c2 Added copyright and licensing to the rest of the source code in libopenshot, including the CMake build scripts, the SWIG configuration file, and even updated copyright in the README files. All files are now correctly attributed and protected now. 2013-09-12 23:41:49 -05:00
Jonathan Thomas
617088cebf Yet another huge refactor, to use shared_ptr objects instead of actual pointers, due to the difficulties in managing the lifecycle of pointers between the timeline, clip, and readers. Seems to work great, and solves all sorts of bugs. =) 2012-10-14 03:43:52 -05:00
Jonathan Thomas
60e645da61 Added a FrameRate() method to the timeline, to get or set the fps. Also, added a unit test for that, and refactored some header files to be alphabetical. 2012-10-10 01:07:47 -05:00
Jonathan Thomas
1d89fd140a A big refactor of the Open() method on Readers, and the constructor of Readers. All resource consuming code has been moved into the Open() methods, so the Clips and Timeline can control them better. 2012-10-09 01:45:34 -05:00
Jonathan Thomas
d1af1b5fef Huge refactor, switched almost all methods to using pointers for Frames, and moved some key method calls outside the critical OMP sections. Also, refactored the sws scaler, to create a pool of 32 scalers, and give each thread it's own scaler. This refactor resulted in a 40%+ increase in speed on the FFmpegReader class.
I also added a cmake build flag for the google perftools library, to assist on profiling performance issues.
2012-08-15 17:27:14 -05:00
Jonathan Thomas
0e233be34e Added new unit tests for FFmpegReader, which tests actual pixel color values against a test video on 2 different frames. Also, made Seek() method private. 2012-07-09 01:44:36 -05:00
Jonathan Thomas
3b46aad2ef Added some new methods to access audio data: channels, samples, etc... Also, added initial unit tests for the FFmpegReader class, including waveform checking against an actual audio file. 2012-07-09 01:22:11 -05:00