Commit Graph

98 Commits

Author SHA1 Message Date
FeRD (Frank Dana)
f62f2bac6b Overrides for derived-class methods 2020-04-15 21:45:04 -04:00
Jonathan Thomas
4f591c7b94 Merge pull request #396 from ferdnyc/json-parsing
Behind-the-scenes code tidying for Json data handling
2020-02-27 15:32:05 -06:00
Jonathan Thomas
4ddf775cdf Merge pull request #421 from ferdnyc/ffmpegwriter-opts
FFmpegWriter: Overload Set___Options() methods
2020-02-27 15:27:31 -06:00
FeRD (Frank Dana)
895c2f0e24 FFmpegReader/Writer: Reformat example code
- Reduced crazy-long line lengths by moving trailing comments to
  previous line
- Added more openshot:: prefixing, which causes Doxygen to link to
  the referenced object's documentation. (It doesn't always pick
  up cross-class links, without the prefix.)
2020-02-14 12:07:02 -05:00
FeRD (Frank Dana)
e74d71f545 FFmpegReader/Writer: limit hwaccel to FFmpeg 3.4+
Add a new #define HAVE_HW_ACCEL, which is only set on FFmpeg 3.4+,
and use that to restrict the use of hw-accel features, leaving
IS_FFMPEG_3_2 to determine only whether code is compatible with
FFmpeg 3.2+.
2020-02-10 01:50:31 -05:00
FeRD (Frank Dana)
22bf6edfba Enhance Json data handling
- Parsing from string to Json::Value is now done by utility function
  openshot::stringToJson() in Json.cpp, all SetJson() methods call it.
- Expand use of const member functions and args where appropriate.
- Use std::to_string() to format int/float values as strings.
- Correct mentions of nonexistent Json::JsonValue type in docstrings
2019-12-27 08:51:51 -05:00
FeRD (Frank Dana)
3ce85d0fff openshot:: prefixing as needed for SWIG
It turns out SWIG is a lot pickier than GCC about namespaces, and
requires a lot more `openshot::` prefixing in our headers, if we
eliminate the `using namespace...` statements from them.
2019-08-05 02:17:22 -04:00
FeRD (Frank Dana)
be9a32c65a *.h: Eliminate remaining 'using' statements 2019-08-04 23:18:04 -04:00
FeRD (Frank Dana)
b4b6223e89 std:: prefixes for FFmpegReader.h/.cpp 2019-08-04 22:23:33 -04:00
Chris Kirmse
572875b8d7 Merge remote-tracking branch 'upstream/develop' into develop 2019-06-24 10:00:22 -07:00
FeRD (Frank Dana)
9261f46772 More copyright, missed a few older ones 2019-06-11 06:51:37 -04:00
FeRD (Frank Dana)
0327c2ab5c Remove license block from documentation comment 2019-06-09 08:31:04 -04:00
Chris Kirmse
833fcb8e8e fix a number of memory leaks
- some were with libav functions
- same were due to non-virtual destructors
2019-05-08 15:02:33 -07:00
Jonathan Thomas
893b91b528 Adding doc/HW-ACCEL.md document, code reformatting, some variable renaming 2019-04-18 01:07:57 -05:00
Chris Kirmse
650d3ec820 fix grammar error with possessive its and update sample for audio parameter 2019-03-14 09:26:56 -07:00
eisneinechse
29b5fcac60 Merge branch 'develop' into hardware-support 2019-01-25 13:07:26 -08:00
Jonathan Thomas
7b6eb9c21b Integration of resvg SVG library (optional during build) (#185)
* Integration of libresvg SVG library (optional during build)

* Major refactor of max_width and max_height for preview optimization

* Fixed many bugs related to preview resizing, with regards to cached frames

* Updating gitlab CI to find RESVGDIR correctly for windows, and adding svgz support

* Updating cmake findresvg module to search for windows locations first, to prevent an issue on our windows builders and updating some CMake output.

* Removing folder path from resvg header, since it could be installed in different named folders. This is an attempt to fix Windows include issues.

* Making call to AV_FREE_FRAME conditional for non windows systems (because it crashes on Windows for seemingly no reason). Needs more investigation.
2019-01-19 02:18:52 -06:00
eisneinechse
662ed77263 Merge branch 'develop' into hardware-support 2019-01-18 16:42:46 -08:00
Jonathan Thomas
13bd272ead Adding new settings class to be used for changing realtime settings used by libopenshot, such as scaling mode for preview vs final render, or hardware decode, etc... 2019-01-09 16:50:40 -06:00
eisneinechse
e7f2494040 First changes to make hardware accelerated DECODE work with decoders
other than vaapi. Encode is already working for nvenc; nvidia driver
396 has to be installed for nvenc to work. On nVidia card turn
accelerated decode off in Preferences->Performance for now
2018-11-26 09:36:21 -08:00
Jonathan Thomas
e879188a7d FFmpeg 3 & 4 support, Travis CI support, OpenMP schedule change (#160)
* FFmpeg4 support. Compile warnings fixes. Credit goes to many people, including ferdnyc, peterM, and other awesome folks!

* Adding environment checking to enable/disable omp taskwait after each video/audio frame is processed. This is experimental for some users with crashes.

* Moving `omp taskwait` to after the ProcessVideoPacket() method, since that is the only place it is useful.

* Fixing crashes on missing Clip source file, and changing FFmpeg scaling algorthm from SWS_BILINEAR to  SWS_LANCZOS (for higher quality scaling)

* Update FindFFmpeg.cmake module, and updating build script. Also enabling debug builds.

* Updating experimental travis build script

* Fixed unit test for newer version of FFmpeg (audio resampling)

* Experimental travis multiple jobs

* Adding OMP schedule hint (thanks PeterM), which prevents crashes in some circumstances.
2018-09-11 00:40:31 -05:00
eisneinechse
aff1be93b8 Support for multiple input files 2018-09-09 10:54:31 -07:00
eisneinechse
c29bf21c75 Simplifications of FFmpegReader and start of setting parameters
per input file
2018-09-09 09:05:16 -07:00
eisneinechse
340803e31e Initial rudimentary support for hardware acceleration (encode and decode)
Only Linux vaapi for now
2018-08-31 21:36:23 -07:00
Jonathan Thomas
8216795c33 Adding environment checking to enable/disable omp taskwait after each video/audio frame is processed. This is experimental for some users with crashes. 2018-08-12 00:15:23 -05:00