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
85ac4bf6d2
Updating references to frame number / position to long int, there were still quite a few old "int" declarations, which limits the length of frame number. Also, updated precision of KeyFrames to use double (instead of float) for higher precision, which fixed lots of issues with very long videos (since our FrameMapper used a KeyFrame object to create a map to new frames)
2017-01-24 18:39:17 -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
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
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
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
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
b976b8220b
Added new properties to the clip JSON properties method, to enable more rich control of a clips properties. Fixed some defaults on Points that still used X=0.
2015-02-21 03:10:38 -06:00
Jonathan Thomas
5145abdacb
Added new clip method that returns all properties for a given frame in JSON.
2015-02-09 22:41:42 -06:00
Jonathan Thomas
e135eb5738
Changed license to LGPLv3 for all libopenshot code.
2014-07-11 16:52:14 -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
cd7743fb88
Improved Json methods to correct work with swig and inheritance.
2013-12-07 21:09:55 -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
4e730a3f41
Integrated more JSON methods into the library.
2013-12-03 00:13:25 -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
58090ef5fc
Added license and copyright to all files. Improved many examples and documentation. Refactored the Coordinate() object, to move a few properties to methods.
2013-09-12 17:52:10 -05:00
Jonathan Thomas
cbed47ea5f
Changed / Refactored many enums and structs, to better standardize the naming of everything. Improved some more descriptions and briefs.
2013-09-10 12:59:06 -05:00
Jonathan Thomas
234201743a
Improved more documenation, and switched to @ syntax for doxygen.
2013-09-09 23:32:16 -05:00
Jonathan Thomas
14a61f9c5c
Refactored a few methods, added new doxygen format, and improved the copyright, license, and comments & documentation for many classes and methods.
2013-09-08 23:09:54 -05:00
Jonathan Thomas
b74e97c7d2
FIxed some big audio bugs, and finally got the audio reversing correctly working. Now, audio waves are reversed when a time map is moving backwards. There are still some pops and crackles, but I'll fix those later.
2012-10-21 05:29:29 -05:00
Jonathan Thomas
266bd45bde
Added delta() to a coordinate, to track the change in unique value on the Y axis. This helps in time mapping, to track how many frames have been skipped.
2012-10-19 22:24:54 -05:00
Jonathan Thomas
3740ca0454
Added some new methods on the keyframe class, and added some unit tests for the keyframes.
2012-10-19 22:11:22 -05:00
Jonathan Thomas
f291700701
Updated keyframe system to only process them if they change, to improve performance.
2012-10-19 17:04:57 -05:00
Jonathan Thomas
9d97ecb6d2
Improved the Keyframe and Coordinate classes, to also track the direction and a fraction representing the number of times a frame is repeated. This will allow the time mapping to slow down audio and reverse the waveforms when necessary.
2012-10-19 16:53:18 -05:00