Jonathan Thomas
|
efc1ad47fe
|
Added an OpenShot logo to the bottom of the screen (layer 4)
|
2013-02-12 02:56:59 -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
|
2a743123ee
|
Improved DecklinkReader to be multi-threaded, using the OpenShot cache object to keep things in order. Performance is very smooth on the blackmagic test executable now.
|
2013-02-10 15:46:41 -06:00 |
|
Jonathan Thomas
|
09a02c0adf
|
Adding the initial version of the decklink writer, and a fully working (full circle) blackmagic example executabe, which processes real-time HD video and output's it via HDMI.
|
2013-02-10 02:19:40 -06:00 |
|
Jonathan Thomas
|
f04e821f0d
|
Refactored blackmagic capture example into DecklinkCapture.cpp, and added it into libopenshot. Also, added a new, Main_Blackmagic.cpp example program, which invokes the DecklinkCapture.cpp class.
Also, built in a 20 frame buffer into the DecklinkCapture.cpp class, to discard old frames, to keep the memory from filling up.
|
2013-02-06 02:09:21 -06:00 |
|
Jonathan Thomas
|
fbf169a7fa
|
Added a simple chroma key method to a frame object, and added multi-threaded optimizations to the black magic capture code.
|
2013-01-26 23:02:21 -06:00 |
|
Jonathan Thomas
|
b8d4b0b73d
|
Fixed a big bug with the Swig wrapper, to correctly match the typemap of the tr1::shared_ptr, and then removed the GetFrameObject method, since it's no longer needed.
|
2013-01-12 12:45:55 -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
|
e264d4fcab
|
Fixed a really huge audio issue, related to audio timestamps, gaps, and also mono vs stereo issues. This is the best audio support I've accomplished thus far. =)
|
2012-12-03 04:51:17 -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
|
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
|
7e51c204f9
|
Lots of debug code with some experimental audio PTS code, to adjust for small gaps in timestamps.
|
2012-11-20 10:15:39 -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
|
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
|
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
|
a0b24c61f0
|
Fixed a huge memory leak related to cache objects, and incorrect frame sizes. It was caching way too many frames, and creating all sorts of issues.
|
2012-10-26 00:27:44 -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
|
5e5ca2a55c
|
Fixed a big bug on frame rate mapping, due to incorrect # of samples being copied into the new frame. Also, implemented interalacing support, and full pulldown support (in the frame mapper).
|
2012-10-18 02:58:09 -05:00 |
|
Jonathan Thomas
|
129a2fccd7
|
Many experimental changes, including a new FrameMapper that is based on FileReaderBase, and lots of debug code.
|
2012-10-17 09:57:02 -05:00 |
|
Jonathan Thomas
|
b647ff77c8
|
Fixed a regression with audio files and seeking, added a few new methods, and more accurately detect the End() of clips.
|
2012-10-14 02:36:05 -05:00 |
|