Commit Graph

27 Commits

Author SHA1 Message Date
Jonathan Thomas
ac7be90544 Fixed a few issues with Color keyframes 2015-10-01 18:51:59 -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
45f31bbabf Added 2 new effects: Brightness and Contrast, and Saturation. Both effects implement keyframe curves, and can be animated. 2015-08-16 22:58:07 -05:00
Jonathan Thomas
8fa2ab71c5 Fixed a few tiny bugs in JSON Properties, and removed some unneeded code related to hashing the current state of an effect. 2015-08-16 19:19:14 -05:00
Jonathan Thomas
c345ae07b7 Fixed the ApplyJsonDiff function to support effects inside clips, which gets a bit tricky. 2015-08-07 23:11:03 -05:00
Jonathan Thomas
c7f0a481cc Added a new class to easily expose the JSON metadata of supported effects in libopenshot. Fixed some bugs related to metadata, and a few bugs in the Mask effect (if initialized without a reader). 2015-08-06 20:01:34 -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
dfeff3379e Fixed a small issue with unneeded reader Open() calls. 2015-02-26 01:59:12 -06:00
Jonathan Thomas
79519dbeab Added JSON Properties to all effects and refactored some of the code into the ClipBase class. 2015-02-26 00:02:06 -06:00
Jonathan Thomas
6937d89bfd Fixed some issues with the Mask effect: correctly serialize the reader property, and correctly load the reader. Added additional debug info for the Timeline class. 2015-02-25 17:39:59 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
b224d7d8fa Adjusted ImageMagick code to dynamically calculate the quantum depth, and bitshift between that depth and the 8bit colors for FFmpeg. 2014-07-03 12:26:02 -05:00
Jonathan Thomas
6232a1bd41 Refactored and fixed many include paths (not sure how they worked before). Also, refactored SWIG bindings into separate folders, and added Ruby as the 2nd officially supported language for libopenshot. 2014-04-10 22:38:01 -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
3c99e53dad Added JSON change method, which accepts a diff / sync JSON array, and applies the changes to a timeline and timeline associated properties and items. Also fixed many bugs on JSON type checking. 2014-01-08 01:43:58 -06:00
Jonathan Thomas
f25f342825 Completed timeline class Json methods, with all child properties... and refactored many unneeded properties away. 2014-01-05 22:37:11 -06:00
Jonathan Thomas
4af6916338 Fixed polymorphism / inhereted Json methods, and added a new IsOpen() method on all readers. Fixed other misc Json bugs. 2013-12-18 21:55:43 -06:00
Jonathan Thomas
cd7743fb88 Improved Json methods to correct work with swig and inheritance. 2013-12-07 21:09:55 -06:00
Jonathan Thomas
109e88dddc Removed unneeded overloads of Json methods 2013-12-06 18:16:56 -06:00
Jonathan Thomas
d8da4cb807 Added Json() methods to many methods, for loading and saving properties. 2013-12-06 00:40:26 -06:00
Jonathan Thomas
1bdea062d6 Added Deinterlace effect. Refactored Wipe effect into Mask effect (which is a more appropriate name). Added an example interlaced.png file. Improved the Mask to accept a 'reader', which can be used for more elaborate wipe animations. 2013-10-18 12:38:09 -05:00
Jonathan Thomas
72b51894e5 Finally solved the Wipe transition issues, and improved performance by many times! The ImageMagick thread where this was solved: http://www.imagemagick.org/discourse-server/viewtopic.php?f=23&t=24241&p=103880#p103880
Now, a user can apply more than 1 transition at a time, and it will preserve and correctly mix the alpha channels of all involved images! It is awesome!
2013-10-15 00:45:23 -05:00
Jonathan Thomas
2b77da2fd0 Fixed some bugs with the Wipe effect, and am still trying to optimze the performance and make it add alpha channels correctly. 2013-10-14 18:18:34 -05:00
Jonathan Thomas
3617d6be31 Fixed issues with Wipe transition destroying the existing alpha channel. It now adds the alpha channels together, to maintain the original... but it is very slow. I'm still looking to optimize it. 2013-10-11 15:54:56 -05:00
Jonathan Thomas
092123de87 FIxed some bugs on the wipe transition, and correctly set the brightness and contrast of the wipe mask image. However, the performance is not very good using this technique. 2013-10-11 00:09:06 -05:00