Commit Graph

67 Commits

Author SHA1 Message Date
Jonathan Thomas
2fcb35ddcc Removing throw statements from header files (thanks Peter) 2017-10-26 18:44:35 -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
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
289e659566 Fixed a bug when caching a mask size (a regression from some of our speed improvements) 2017-02-19 01:29:59 -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
82d3798a18 Fixing JSON property value ranges on mask effect 2016-08-21 21:06:50 -05:00
Jonathan Thomas
e2615c9249 Renaming Layer to Track in JSON properties 2016-08-18 19:45:45 -05:00
Jonathan Thomas
030d173e68 Adding additional meta data to effects Json() 2016-08-18 00:21:43 -05:00
Jonathan Thomas
a3ef86a695 Fixed some big performance issues (some which were causing crashes) in effects (Brightness and Saturation), and created a factory class for effects, to reduce redundent code. 2016-08-16 22:40:51 -05:00
Jonathan Thomas
d0b14fe3d3 Updated lots of JSON min/max properties to better reflect reasonable values 2016-08-16 02:12:51 -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
3097e4a2fd Fixed a crash on windows, relating to a race condition on the Mask effect. 2016-01-25 23:53:10 -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
c44aeda948 Optimizations with Mask effect (making transitions faster) 2015-11-05 00:11:30 -06:00
Jonathan Thomas
358e0835d2 Added dropdown choices into JSON properties, so a UI can correctly list the options for certain properties. Fixed a bug when deleting all Points from a Keyframe, and added some missing Enums from the Python/Ruby bindings. 2015-10-02 18:22:10 -05:00
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