Commit Graph

782 Commits

Author SHA1 Message Date
Jonathan Thomas
ac8876f810 Removing duplicated destructor definitions and implementations... so our virtual destructors will not break on older toolchains. 2019-06-21 15:57:41 -05:00
Jonathan Thomas
ffb5439a2e Merge pull request #224 from sparfenyuk/develop
Add virtual destructor for abstract classes
2019-06-21 15:47:08 -05: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
16bb22c238 Merge pull request #247 from SuslikV/patch-5
Add 2 new multiplexing presets for mp4, mov files
2019-06-21 15:25:55 -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
Jonathan Thomas
faa3a34420 Merge pull request #256 from ferdnyc/deprecate-jsonreader
Remove Json:Reader
2019-06-20 18:07:26 -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)
eab81b0b7d Upgrade jsoncpp to 1.8.4
This current version supports the new `Json::CharReader`, which
replaces the now-deprecated `Json::Reader`. It's necessary to
eliminate `Json::Reader` from libopenshot because using it
causes a flood of deprecation warnings when building with
system jsoncpp.

Also, the `thirdparty/jsoncpp` directory was generated using
the jsoncpp project's `amalgamate.py` tool, which condenses
the library down to a single C++ source file and two headers,
making it easier to incorporate into libopenshot.
2019-06-19 21:03:08 -04:00
FeRD (Frank Dana)
9261f46772 More copyright, missed a few older ones 2019-06-11 06:51:37 -04:00
FeRD (Frank Dana)
f170fdd009 Update copyright range to current year 2019-06-11 06:48:32 -04:00
SuslikV
be7db11480 Add streamable file format options for mp4, mov
Add 2 new multiplexing presets for mp4, mov files:
mp4_faststart
mp4_fragmented

The Preset usage from openshot-qt export.py as follows (example):
w.SetOption(openshot.VIDEO_STREAM, "muxing_preset", "mp4_faststart")

YouTube suggest to use streamable file formats to process the uploading
videos faster (by starting its processing when upload not yet complete)
MP4, MOV files export requires additional dictionary keys to be set in
this case.
2019-06-11 10:49:45 +03:00
FeRD (Frank Dana)
0327c2ab5c Remove license block from documentation comment 2019-06-09 08:31:04 -04:00
Jonathan Thomas
722d672f58 Update Frame.cpp 2019-06-08 12:52:35 -05:00
Jonathan Thomas
438b2c333e Update Frame.cpp 2019-06-08 12:21:56 -05:00
Jonathan Thomas
2be5e5e168 Fixing crash on certain hardware accelerator modes (specifically decoder 2, device 0) 2019-06-04 13:42:46 -05:00
Jonathan Thomas
13e74b147a Adding new CheckPixel method to validate a specific pixel color 2019-05-31 19:02:28 -05:00
Chris Kirmse
25e51d815e free cache in FrameMapper::Close()
- this hugely reduces the memory used by rendering a timeline
  with a lot of clips
- could be related to issue #239
2019-05-30 09:44:39 -07:00
Chad Walker
fab70dde1e plug another small leak 2019-05-15 10:27:48 -05:00
Jonathan Thomas
4a3985e209 Updating comment 2019-05-14 00:20:32 -05:00
Jonathan Thomas
9ffd6a6f75 Fixing crash when destructing Timeline/Clips/FrameMapper 2019-05-13 23:55:03 -05:00
Jonathan Thomas
968e472c73 Tweak how Timeline manages the cache object (sometimes itself, and sometimes by the user if they call SetCache) 2019-05-13 17:11:40 -05:00
Jonathan Thomas
bd21d1a751 Fixing crash on Timeline::Close due to deleted FrameMappers 2019-05-13 16:18:15 -05:00
Siarhei Parfianiuk
cbc276e489 Merge branch 'develop' into develop 2019-05-11 12:30:19 +02:00
Chris Kirmse
8ea0af59c6 fix allocations to be done the same for ffmpeg < 3.2
- fixes freeing an invalid pointer on old ffmpeg
- now all tests pass
2019-05-10 11:39:26 -07:00