Jonathan Thomas
|
c07b97d52a
|
Experimenting with image sequence performance (using Tif images)
|
2013-02-13 02:46:55 -06:00 |
|
Jonathan Thomas
|
ca09838b0f
|
Optimized the compositing of simple layers (with no transformation), by not resizing it's canvas to match the timeline. Also, improved the Decklink reader to wait for the frame to become available (if it's in the future), and to jump ahead on the timeline if it gets behind. Blackmagic program can now composite 4 layers in real time.
|
2013-02-12 02:42:18 -06:00 |
|
Jonathan Thomas
|
cc32bbf38a
|
Made decklinkOutput keep scheduling the last successfull frame, if the queue runs out. Also, made the timeline multi-threaded, and improved the DecklinkInput.cpp to keep frames in order, by returning the correct frame based on the number.
|
2013-02-12 01:28:48 -06:00 |
|
Jonathan Thomas
|
0b4cd27f6b
|
Tweeked some greenscreen settings
|
2013-02-10 23:09:27 -06:00 |
|
Jonathan Thomas
|
4a4d9e2a34
|
Improved the timeline compositing performance, fixed some blackmagic bugs, and finally have an actual chromakey demo working!
|
2013-02-10 21:16:46 -06:00 |
|
Jonathan Thomas
|
425ac04b1a
|
Commented out some code, to prevent some regressions on the timeline
|
2012-12-06 17:58:51 -06:00 |
|
Jonathan Thomas
|
ad81fed72e
|
Added alpha to all FFmpegReader source images, which is needed by the timeline class. Also, added alpha to the AddColor() method. Now even the background of the timeline can be transparent, along with all layers... even the bottom layer.
|
2012-12-04 02:21:01 -06:00 |
|
Jonathan Thomas
|
0d82a4e716
|
Made Keyframe objects thread safe, by generating the values as Points are added, and the Timeline's Open and Close logic was made thread safe, so a reader is not closed while it's still being accessed on another thread. Also removed some unneeded code and comments.
|
2012-12-03 22:55:46 -06:00 |
|
Jonathan Thomas
|
8606ec2a6e
|
Added wave_color attribute to the clip object, which now allows the audio wave form to animate it's color along a curve over time. Combined with the timeline background color curve, some cool combinations can be made!
|
2012-11-29 23:11:50 -06:00 |
|
Jonathan Thomas
|
ab4069464a
|
Added curve-based color as the canvas background color (red, green, and blue), so it can be animated now.
|
2012-11-29 17:28:22 -06:00 |
|
Jonathan Thomas
|
d3ef1fac13
|
Refactored the audio waveform generation into the Timeline class. Added the ability to set the volume, and the ability to mix layers of audio samples together. Also, made the waveform's have a transparent background, so they can be layered on top of other layers.
|
2012-11-29 16:32:48 -06:00 |
|
Jonathan Thomas
|
495ca9dc9e
|
Fixed a big audio bug, where varying timestamp values on low precision audio timebases (i.e. 1/1000) would leave small gaps in the audio wave. Also, fixed a few issues related to sample_rate getting lost between the reader and clip and timeline objects.
|
2012-11-20 16:22:50 -06:00 |
|
Jonathan Thomas
|
bf05afbfa7
|
Fixed the flush_encoders method to support older versions of FFmpeg
|
2012-11-17 03:13:00 -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
|
4e2947018c
|
Fixed sub-pixel positioning by resizing the source image canvas
|
2012-11-08 18:10:00 -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
|
617088cebf
|
Yet another huge refactor, to use shared_ptr objects instead of actual pointers, due to the difficulties in managing the lifecycle of pointers between the timeline, clip, and readers. Seems to work great, and solves all sorts of bugs. =)
|
2012-10-14 03:43:52 -05:00 |
|