Jonathan Thomas
ec65ca39b3
Fixing invalid cache after editing effect in a clip, and frame accuracy (converting timestamps into frame numbers). This makes frame by frame editing much better.
2017-03-10 00:51:08 -06:00
Nelson Ho
c9b74ec96d
Added fixes for audio sample distribution to clean up missing or extra audio samples that were at frame boundaries
2017-01-06 20:48:47 -05:00
Jonathan Thomas
89fb86453e
Refactoring/renaming Cache to CacheMemory.
2016-08-31 23:57:06 -05: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
2f8c4161df
Improved changing Reader() on the QtPlayer class, and made many thread safety improvements for the FrameMapper.GetFrame method. Also improved the destructors and Close() methods of FFmpegReader and FrameMapper. Some audio-related bug fixes also, related to audio playback.
2015-12-24 16:44:45 -06: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
591cfbdb5a
Fixed some major issues with the frame mapper. openshot::FrameMapper is now fully multi-threaded. Fixed a bug in calculating the # of samples on a frame (to always be evenly divisible by the # of channels).
2015-03-08 21:42:53 -05:00
Jonathan Thomas
c27e4a1426
Added new method to frame, to change the size of the audio container. Fixed audio resampling inside the FrameMapper. Fixed many memory leaks related to AVFrames (still have a few more).
2015-03-01 22:36:39 -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
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
4ee7ef9b6e
Added experimental AudioBufferSource and refactored lots of audio code.
2014-01-28 17:17:38 -06:00
Jonathan Thomas
e2f5ca8a69
Removed Framerate class, since its functionality is already represented in the Fraction class. Also, corrected a few unittests, and updated some documentation.
2014-01-05 23:12:56 -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
d120d24be6
Removed duplicate time mapping function.
2013-11-04 17:30:14 -06:00
Jonathan Thomas
1e7cd7ddbb
Fixed bug in AddImage() method on a frame, to copy the image instead of just pointing to it. This fixed many issues in the FrameMapper as well, which copies images alot.
2013-11-04 15:16:19 -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
21e9d9d3e3
1) Added EffectBase (base class of all effects)
...
2) Improved SWIG bindings to include std::list and std::vector
3) Added Effects list Timeline
2013-09-28 22:00:52 -05:00
Jonathan Thomas
9801c76878
Refactored the /doc folder, added detailed illustrations to a few classes and the main page of documentation, and integrated the Official Installation Guide PDF into the documentation.
2013-09-14 22:52:29 -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
41c2d434a8
Improve more documentation, including descriptions of enum values.
2013-09-10 22:11:47 -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