Commit Graph

248 Commits

Author SHA1 Message Date
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
1c3b1f5691 Timeline now supports overlapping clips, and will process them from bottom to top. Only the top layer gets effects applied, which enables overlapping transitions. 2015-02-26 02:31:36 -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
57fbf357f6 Increased debug output precision. Fixed rounding bug on timeline when finding a clips actual frame number. Fixed bug with a clips JSON properties output. 2015-02-24 23:59:26 -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
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
0df6439103 Changed default keyframes to set a value on X=1 instead of 0. Fixed Timelines composite function to correctly apply alpha channels to the 1st layer of a frame. 2015-02-21 00:12:21 -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
efa37ea410 Fixed timeline clip sorting to correctly sequence and mix the various layers and clips. 2015-02-18 17:15:03 -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
44d5cf866a Bumped version to 0.0.4, SO version to 2 2015-02-13 00:59:33 -06:00
Jonathan Thomas
10adb2cc0b Added new JSON properites to the clip object... to better integrate UI interfaces for clips. 2015-02-11 00:23:25 -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
e5b272294f Update documentation and examples 2015-02-05 00:11:55 -06:00
Jonathan Thomas
7e8ab6f5bf Added new ChannelLayouts classe, which allows encoding video files in different channel layouts (mono, stereo, surround, etc...) 2015-02-05 00:11:11 -06:00
Jonathan Thomas
bf73482244 Fixed some build errors and updated the Blackmagic DeckLink classes. 2015-02-05 00:08:38 -06:00
Jonathan Thomas
ff60450f4f Completely rewrote audio encoding API (old one was depreciated)
Integrated new debug output, which makes troubleshooting issues much easier
Simplified the Writer API calls (some methods now get automatically called if needed). Now a few simple methods can write an entire video file.
2015-02-05 00:06:07 -06:00
Jonathan Thomas
9afcb67630 Added a new ImageWriter class, which specializes in creating images (powered by ImageMagick). This can quickly and easily create animated GIFs with nice color pallets, and a hundred other misc image formats. 2015-02-05 00:02:59 -06:00
Jonathan Thomas
a6087dab3a Many improvements to FFmpegReader, including
Better bounds checking, and support at the end of the video file
Improved debug output, which helped resolve many issues
Implemented the newest audio decoding API (old one was depreciated)
Now support packed and planar audio data
Far superier audio resampling support
2015-02-05 00:00:52 -06:00
Jonathan Thomas
de1a30b6cb Tons of bug fixes to the Qt Player and video playback functionality
Improved AudioReaderSource to support pausing & fast forward
Video playback works very well now, across a large sampling of test videos
2015-02-04 23:56:43 -06:00
Jonathan Thomas
7eb25b54fc Fixed a bad seek bug, where the FFmpegReader would read until the end of stream looking for a frame. Also refactored a bit of cmake code. 2014-09-13 16:35:11 -05:00
Jonathan Thomas
cc7a0f41e8 Added new debug methods, and refactored the ReaderBase and WriterBase to better utilize the base class constructor. Also fixed some FFMpegReader issues related to seeking and determining when frames are actually ready. 2014-08-27 09:44:27 -05:00
Jonathan Thomas
df54c12341 Bump version to 0.0.3 2014-07-29 14:12:03 -05:00