Commit Graph

21 Commits

Author SHA1 Message Date
FeRD (Frank Dana)
3c2532b4de Use std::make_shared to allocate shared ptrs
std::make_shared does in a single allocation what the constructors
for std::shared_ptr usually take at least 2 allocations to do.
May give us an infinitesimal performance/memory improvement.

https://www.modernescpp.com/index.php/memory-and-performance-overhead-of-smart-pointer
2020-08-20 16:50:12 -04:00
FeRD (Frank Dana)
f170fdd009 Update copyright range to current year 2019-06-11 06:48:32 -04:00
FeRD (Frank Dana)
0327c2ab5c Remove license block from documentation comment 2019-06-09 08:31:04 -04:00
Jonathan Thomas
c95db460d6 Big update! Updating all "long int" frame number types to int64_t, so all 3 OSes will produce the same depth and precision on frame numbers. Also removing variable bitrate support temporarily, since it causes more problems than it solves. 2017-09-28 16:03:01 -05:00
Jonathan Thomas
f12ffe692b Migrating tr1 to std, adding C++11 support to build scripts, fixing crash in FFmpegReader (caused by shared_ptr, buffer, and last_video_frame corruption). Much improved stability with this change. Thanks to Craig and Peter for the help! 2017-08-20 17:37:39 -05:00
Jonathan Thomas
e547296d83 Adding new CacheBase class. This is the first of many cache related commits, with the goal of building a disk based cache object, to be used by the timeline object if enabled. 2016-08-31 02:02:54 -05: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
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
e073ad89f5 Fixed many issues with the QtPlayer and related classes. Now the VideoRenderer can be passed through SWIG and connected to a PyQt application and handle display signals for each frame. Also, refactored some OpenMP settings into its own header. 2014-04-02 16:48:27 -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
a0c2964ac4 Improved documentation again 2013-09-11 17:32:40 -05:00
Jonathan Thomas
1466ac535b Changes made to the live greenscreen display at SCALE 11X. 2013-06-06 23:15:01 -05:00
Jonathan Thomas
aa09fdc69b Fixed many, many blackmagic bugs, and have a pretty good demo built. 2013-02-15 00:23:55 -06:00
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
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