Commit Graph

27 Commits

Author SHA1 Message Date
Jonathan Thomas
8387b124ad Large refactor of Timeline, TimelineBase, ClipBase, and Clip, to allow a Clip access to the parent timeline instance (if available), and thus, certain properties (preview size, timeline FPS, etc...). This allows for a simpler rendering of Clip keyframes (during the Clip::GetFrame method), and a simpler Timeline class, that can change the preview window size dynamically and no longer requires a Singleton Settings class.
- Also removed "crop" from Clip class, as it was never implmeneted correctly, and we have a fully functional "crop" effect when needed
 - Added caching to Clip class, to optimize previewing of cached frames (much faster than previous)
2020-10-19 16:05:01 -04:00
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)
182db742de ChunkWriter.cpp: std:: prefixes 2019-08-04 23:22:04 -04:00
FeRD (Frank Dana)
4f38ac9c66 ChunkReader/ChunkWriter: std:: prefixes 2019-08-04 22:46:57 -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
2fcb35ddcc Removing throw statements from header files (thanks Peter) 2017-10-26 18:44:35 -05: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
e5b272294f Update documentation and examples 2015-02-05 00:11:55 -06: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
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
3a6386634a Fixed many serious compiler errors, such as non-void functions missing a return value. 2014-06-30 15:37:50 -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
4e730a3f41 Integrated more JSON methods into the library. 2013-12-03 00:13:25 -06:00
Jonathan Thomas
3596f75abc Added extra start frame to each chunk in the ChunkWriter and ChunkReader, to make sure every chunk can "stoke" the audio samples from the previous chunk. Also, added additional example code for an openshot::Frame. 2013-09-15 22:21:19 -05:00
Jonathan Thomas
58090ef5fc Added license and copyright to all files. Improved many examples and documentation. Refactored the Coordinate() object, to move a few properties to methods. 2013-09-12 17:52:10 -05:00
Jonathan Thomas
234201743a Improved more documenation, and switched to @ syntax for doxygen. 2013-09-09 23:32:16 -05:00
Jonathan Thomas
14a61f9c5c Refactored a few methods, added new doxygen format, and improved the copyright, license, and comments & documentation for many classes and methods. 2013-09-08 23:09:54 -05:00
Jonathan Thomas
c244657a11 Renamed FileReaderBase and FileWriterBase to ReaderBase and WriterBase, since they are not specifically related to files. 2013-09-08 16:40:57 -05:00
Jonathan Thomas
a42e257521 Many small improvements, bug fixes, and build system fixes for newer systems that have both qt4 and qt5. 2013-09-08 16:08:56 -05:00
Jonathan Thomas
12ca79ce0b Fixed bug on JSON output on a ChunkWriter. Also, moved some ChunkWriter defaults into the header. 2013-08-28 17:00:57 -05:00
Jonathan Thomas
b3c6b79793 Added 3 video streams in a chunk (final, preview, and thumb) at 3 different quality versions. 2013-08-27 16:57:49 -05:00
Jonathan Thomas
e3636bd3e9 Write JSON info file for the ChunkWriter 2013-08-27 14:27:24 -05:00
Jonathan Thomas
1e2d93721d Improved ChunkWriter to create chunk folder and write JSON meta data 2013-08-27 13:37:00 -05:00