Commit Graph

125 Commits

Author SHA1 Message Date
Jonathan Thomas
729e6fd14c Added in more conditional checks for older versions of FFmpeg, so libopenshot will compile on more platforms. 2012-11-17 01:57:57 -06:00
Jonathan Thomas
298cfb065e Improved the compositing engine to more accurately compare doubles and floats. 2012-11-16 17:29:12 -06:00
Jonathan Thomas
8fb94cc123 Updated the FFmpegWriter to use compiler #IF commands to be compatible with older and newer versions of FFmpeg. This is still a work in progress, but many of the newer commands are now being protected. 2012-11-16 17:15:44 -06:00
Jonathan Thomas
b503b5a350 Added test code to read and write lots of JPEG files for an experimental test 2012-11-16 15:38:58 -06:00
Jonathan Thomas
d58cfec0ca Added a simple X,Y offset, to speed up basic overlays. 2012-11-13 22:07:49 -06:00
Jonathan Thomas
73be628047 Replaced the opacity() method with the IM quantumOperator method, which allows me to simply multiply the alpha percentage to each alpha value, and fixed a bug in the ImageReader which prevented copying pixel data between frames. 2012-11-13 00:11:20 -06:00
Jonathan Thomas
bff37d0072 Added in openMP code to improve performance on the timeline layer merging, which is very CPU intensive. 2012-11-12 17:21:21 -06:00
Jonathan Thomas
d47a94f1a0 Added gravity, scale type, and percentage based X,Y location settings. All the basic transformation methods are now working. You can layer, move, fade, snap, rotate, and scale clips on the screen. 2012-11-12 01:25:35 -06:00
Jonathan Thomas
ed2469e724 Integrated sub-pixel positioning using the distort operator. Not quite working yet. 2012-11-08 18:02:20 -06:00
Jonathan Thomas
5b77abdf27 The timeline classes are finally working correctly, and have the following features:
1) Layers (unlimited # of layers)
2) IN, OUT, and Position (time)
3) X, Y offset
4) Alpha
5) Rotation
6) Transparency + compositing + overlays
2012-11-08 04:35:21 -06:00
Jonathan Thomas
42d7565ba1 Integrated more timeline code, such as compositing layers... but they don't work yet 2012-11-07 17:45:13 -06:00
Jonathan Thomas
bc11635731 Made a few fixes to the frame mapper 2012-10-30 18:53:26 -05:00
Jonathan Thomas
7fe9008cad Added a new "smooth" slow motion, using the time map fraction to dissolve the next frame into the current one. 2012-10-29 01:47:39 -05:00
Jonathan Thomas
6e9f2a6a9b Changed audio and video PTS to start at 0, and it fixed the final issues I have had with generating valid videos in multiple codecs. 2012-10-28 23:38:24 -05:00
Jonathan Thomas
aab257402d Fixed bug which froze the FFmpegReader when caching 1080p video. 2012-10-28 23:06:10 -05:00
Jonathan Thomas
7dd94a02e4 Added code to flush the encoders, and also write the final frame's audio samples 2012-10-28 03:35:50 -05:00
Jonathan Thomas
60ffebe1fe Replaced avcodec_encode_audio with avcodec_encode_audio2, and completely redid the way PTS values are calculated and set. Another nice improvement! 2012-10-27 21:36:08 -05:00
Jonathan Thomas
a34902f0f5 Removed some unneeded code in the FFMpegWriter 2012-10-24 11:10:35 -05:00
Jonathan Thomas
bfa1ec82eb Fixed a problem with audio time map deltas, and being slowed down instead of sped up 2012-10-23 11:13:06 -05:00
Jonathan Thomas
651993ff60 Fixed a bug in the regression in the FFmpegReader class, which prevented frame 1 from loading 2012-10-22 23:59:36 -05:00
Jonathan Thomas
612bb25f5f Fixed the FFMpegReader to discard the first audio and video frames it finds after a seek, since they sometimes are missing information. This fixed many issues with the time mapping curves and audio reversing and fast forwarding. 2012-10-22 17:05:34 -05:00
Jonathan Thomas
082efa23cc Fixed more audio sample issues with time mapping 2012-10-21 17:51:37 -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
19612f63bd Fixed some bugs with the new Keyframe system, and now it generates the correct values. 2012-10-19 21:50:50 -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