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
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
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
bfa050409c
Improved support for missing frames and invalid PTS (which result in gaps and duplicate frames). Also changed frame number to larger data type, and did some code clean-up and refactoring. Less crashes, and more video support!
2015-08-24 01:05:48 -05:00
Jonathan Thomas
41dceadd1f
Removed Cache::Exists method, which created all sorts of havoc when being called in quick succession (basically a frame might exist a split second before calling Cache::GetFrame, but then be missing when GetFrame is called).
...
Next Syntax:
frame = Cache::GetFrame(...)
if frame:
....
Also, fixed some issues with MP3 files having the wrong video length detected, and a few other minor issues.
2015-08-05 23:40:58 -05:00
Jonathan Thomas
dbfe7bd8c3
Fixed a Cmake syntax error
2015-06-04 11:50:17 -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
b07936e3b2
Added effects processing to a clip, so clips can carry their own independent effects... rather than depend on the timeline. This still needs some refactoring though.
2015-03-14 01:36:13 -05:00
Jonathan Thomas
e2ee3d01f2
Added the ability to scale and flip keyframes, making it easy to reverse an effect or transition, and resize transitions without having to manually reset the keyframes X coordinates.
2015-03-13 23:19:55 -05: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
e3178b22f1
More work on resolving memory leaks in FFmpegWriter
2015-03-04 21:33:29 -06:00
Jonathan Thomas
ea9885f9a9
Laying the ground work for audio mapping (resampling and changing channel layouts) for the openshot::FrameMapper. This is important for use with the Timeline, that all clips have a common frame rate, sample rate, and channel layout.
2015-02-26 17:33:09 -06:00
Jonathan Thomas
770b1ddb06
Fixed broken unit test.
2015-02-26 02:34:46 -06:00
Jonathan Thomas
61ed19250e
Fixed bug determing the closest keyframe point to another point. Added additional unit tests. Added new method to get the # of Points in a keyframe.
2015-02-22 01:04:54 -06: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
1d1a608a5c
Added GetColorHex() function to the openshot::Color class, which returns a Hex string of a color at any frame number. Added new "hash" and "changed" properties to the openshot::Clip Properties JSON method, to help a UI determine if something has changed in the property values. Lastly, added new unit tests for both classes.
2015-02-17 00:21:57 -06:00
Jonathan Thomas
bb9849c60a
Fixed some serious issues with the Timeline class, improved the Timeline unit tests to cover more of the code, and fixed a bug with the Clip class... which removed the Reader during closing.
2015-02-07 18:06:11 -06:00
Jonathan Thomas
a3e7b70a7a
Improved build scripts and refactored some executibles, such as the example apps
2015-02-07 16:48:43 -06:00
Jonathan Thomas
985f30e467
Added many new unit tests, including Color tests and ImageWriter tests.
2015-02-05 00:12:34 -06:00