Commit Graph

33 Commits

Author SHA1 Message Date
Jeff Shillitto
acadab708f Stop 24 hours worth for frames being loaded in to memory 2019-10-15 22:11:24 +11:00
FeRD (Frank Dana)
366ff2c5e6 src: Don't pass "" file_path args to exceptions 2019-08-27 15:47:39 -04:00
Jonathan Thomas
5f331e24df Merge pull request #265 from ferdnyc/catch-by-reference
Exceptions: catch-by-reference and other cleanup
2019-07-29 16:27:40 -05:00
FeRD (Frank Dana)
35eb6adc55 Clean up allocated memory in JSON code 2019-07-11 05:00:47 -04:00
FeRD (Frank Dana)
25b522589d Always catch-by-reference in C++11 2019-07-03 12:58:02 -04:00
Chris Kirmse
572875b8d7 Merge remote-tracking branch 'upstream/develop' into develop 2019-06-24 10:00:22 -07:00
Jonathan Thomas
f11acef193 Merge pull request #180 from jeffski/text-background-box
Add a text background colored box option to the text reader
2019-06-21 15:39:57 -05:00
Jonathan Thomas
967f23b8a4 Merge pull request #245 from ferdnyc/license-block
Upgrade Doxygen documentation formatting/content
2019-06-21 00:24:54 -05:00
Frank Dana
a47d5b58fd Add backwards-compatible Imagemagick 7 support (#252)
* Add ImageMagick 7 compatibility

A new header, `imclude/MagickUtilities.h`, is created to hold the
compatibility `#define`s.

The image-conversion code in `src/Frame.cpp` received the only
major changes — instead of doing the export by hand (and having
to account for changes in the underlying API), it uses the
`MagickCore::ExportImagePixels()` function which does basically
the same work, but accounts for all of the API changes for us.
The API of that function is _unchanged_ from IM6 to IM7.

TODO: `MagickCore::ExportImagePixels()` will return an `exception`
struct if it encounters any problems. Currently the code ignores
that, which it should not.

* Add ImageMagick 7 compatibility

A new header, `imclude/MagickUtilities.h`, is created to hold the
compatibility `#define`s.

The image-conversion code in `src/Frame.cpp` received the only
major changes — instead of doing the export by hand (and having
to account for changes in the underlying API), it uses the
`MagickCore::ExportImagePixels()` function which does basically
the same work, but accounts for all of the API changes for us.
The API of that function is _unchanged_ from IM6 to IM7.

TODO: `MagickCore::ExportImagePixels()` will return an `exception`
struct if it encounters any problems. Currently the code ignores
that, which it should not.

Thanks @ferdnyc
2019-06-21 00:07:49 -05:00
FeRD (Frank Dana)
744a4f3ec1 Remove Json:Reader
`Json::Reader` has been deprecated for some time, so we replace it with
`Json::CharReader` generated by a `Json::CharReaderBuilder`, or (in the
one instance where we have a stream as input) `Json::parseFromStream();`
2019-06-19 21:20:04 -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
Chris Kirmse
650d3ec820 fix grammar error with possessive its and update sample for audio parameter 2019-03-14 09:26:56 -07:00
Jeff Shillitto
dac2c9a58c Add a text background colored box option to the text reader 2018-12-15 21:55:00 +11:00
Jonathan Thomas
74f91fc86f Merge pull request #59 from jeffski/feature/imagick-text-reader
Allowing TextReader to create text frames using ImageMagick
2018-03-04 00:05:23 -06: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
Jeff Shillitto
3fd12690ef Allowing TextReader to create text frames using ImageMagick 2017-04-30 19:36:12 +10: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
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