Commit Graph

106 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
Nelson Ho
47a63afeb7 Updated test expectations for new audio sample rate fixes for proper number of samples per frame, even for the first output frame. 2017-01-07 20:29:42 -05:00
Jonathan Thomas
ff77af11bb -DDISABLE_TESTS=1 now disables the entire "make test" target, and does not require unittest++ to be a build dependency 2016-12-13 17:17:21 -06:00
Jonathan Thomas
559d6a0545 Huge refactor of keyframe point handles (bezier quadratic curves) to use CSS-style syntax. Basically, the left and right handles of a point now use percentages, such as 0.0, 1.0, 0.5, 1.0 (between 0 and 1), and become real coordinates based on the value differences between points (in real time). Also simplified the JSON property creation. Also, many unit tests have been updated, because they were actually generating the incorrect values from before... although only slightly in most cases. Now they have correct values from the default bezier handles. 2016-10-19 02:19:07 -05:00
Jonathan Thomas
1743558f99 Improved image caching logic, to better estimate max image sizes possible, based on clip scale and keyframe settings... so we are always dealing with the smallest possible frame sizes for performance (without losing quality) 2016-09-17 17:14:27 -05:00
Jonathan Thomas
982faba190 Fixing DiskCache unittest, and adding some better clean-up code to remove the cache folder after running unittests. 2016-09-15 01:21:15 -05:00
Jonathan Thomas
7f347eb1ca Added SetMaxSize for image optimizations in QImageReader and FFmpegReader, which lets the timeline pass down the max size to all clips and readers, so they can optionally optimize the size of images (especially useful for optimizing preview performance). Removed convoluted image scaling code in FFmpegReader, and replaced with simpler version. Also, fixed a few regressions from the new Caching code, primarily a crash when reaching the end of the last clip on the timeline. 2016-09-14 04:11:12 -05:00
Jonathan Thomas
f00ea5c4e2 Reverting logging code in unittests 2016-09-08 22:26:14 -05:00
Jonathan Thomas
629d49c50c Even more logging +2 - trying to determine crash on build server 2016-09-08 15:10:58 -05:00
Jonathan Thomas
3eb3cc2757 Even more logging - trying to determine crash on build server 2016-09-08 03:23:41 -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
c53c9364f3 Added new CacheDisk class, which caches frames to the hard drive, dramatically speeding up preview speeds, at the expense of IO operations. New unittests for caching framework. Fixed a few bugs with Frame constructor, which was causing invalid # width & height. Integrated JSON into the cache framework, to quickly share the state of the cache (including ranges of cached frame numbers). Fixed a bug where some Timeline frames could have no audio samples. 2016-09-07 00:40:01 -05:00
Jonathan Thomas
89fb86453e Refactoring/renaming Cache to CacheMemory. 2016-08-31 23:57:06 -05:00
Jonathan Thomas
e547296d83 Adding new CacheBase class. This is the first of many cache related commits, with the goal of building a disk based cache object, to be used by the timeline object if enabled. 2016-08-31 02:02:54 -05:00
Jonathan Thomas
98ccfb5ee1 Fixing cmake build scripts to support 64bit on Windows. Also refactoring some pointer handling to support 64bit on Windows (Linux and Mac have always supported it). Adding instructions for setting up a Windows 64 bit build environment using MSYS2. 2016-08-12 19:15:19 -05:00
Jonathan Thomas
2c51ecce44 Merge pull request #19 from sbraz/tests
Exit tests with the return value from RunAllTests()
2016-08-02 17:37:44 -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
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
Louis Sautier
c7dcc18b23 Exit tests with the return value from RunAllTests() 2016-03-15 00:38:37 +01:00
Jonathan Thomas
45f1b8c5ac Making ImageMagick completely optional. This will simplify packaging on Windows and Mac. Also, reprogrammed Display, DisplayWaveform, Save, and Thumbnail methods, which are much faster now (using Qt). 2016-02-23 00:27:03 -06:00
Jonathan Thomas
13362393c5 Fixed many more regressions with audio files not passing cover art to the next frame correctly. Seeking issues, and many related issues to detecting missing frames improved. Also fixed a deadlock in certain seeking cases. 2016-01-05 01:59:50 -06:00
Jonathan Thomas
90db687598 Fixed bug in RemovePoint, and improved the AddPoint KeyFrame method to remove a previous, duplicate point (based on co.X value). 2015-12-15 18:12:24 -06:00
Jonathan Thomas
3731b22317 Added a new effect: Blur. It has the ability to box blur, horizontal and vertical blur, and gaussian blur. All of these settings are keyframeable and can be animated. 2015-11-09 00:12:21 -06:00
Jonathan Thomas
21c9ab5184 Fixed small issue with unit test 2015-09-29 21:36:10 -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