Commit Graph

69 Commits

Author SHA1 Message Date
Frank Dana
6336f30ee3 Various: Remove unused variables (#467)
Several data members and local variables were flagged by static
analysis tools as never being used anywhere in the code.
2020-04-22 02:02:55 -04: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)
7867cf01b8 Reorder arguments in setVideoOptions overload
- The new ordering (with the frame rate AFTER width and height) doesn't
  match the other signature, but it *is* consistent with the Timeline
  constructor, and it just feels more natural
- Added overloaded-function notes to doxygen strings in FFmpegWriter.h
- Also added a warning about the argument order mismatch above
2020-02-14 11:53:28 -05:00
FeRD (Frank Dana)
0a063b84b7 FFmpegWriter: Overload Set___Options() methods
Add overloaded forms of SetVideoOptions() and SetAudioOptions()
that apply some sensible defaults to rarely-changed parameters.
2020-01-31 03:53:53 -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)
f88fd7a47a FFmpegWriter: std:: prefixes 2019-08-04 23:10:59 -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
Jonathan Thomas
b3f5406db3 More code reformatting on FFmpegWriter.h/.cpp 2019-04-18 14:04:37 -05: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
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
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
Jonathan Thomas
ef1fb6320b Add new static function to determine if video/audio codecs names are valid (#134) 2018-06-28 21:57:56 -05: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
89fb86453e Refactoring/renaming Cache to CacheMemory. 2016-08-31 23:57:06 -05:00
Jonathan Thomas
179d091005 Moved AppendDebugMessage to ZmqLogger, and updated 100+ references to use this new function. Removed debug var from readers/writers, and moved it to ZmqLogger.Enable(true/false). This allows debug output from all classes and functions, without any duplicate code. Also added some additional debug output for video playback and audio readers. 2016-04-21 01:39:17 -05:00
Jonathan Thomas
723bd24e5c Adding new dependency: libzmq (ZeroMQ). Adding a new debug logging class powered by sockets and ZeroMQ, to allow a threadsafe way to communicate debug messages to a client application (i.e. openshot-qt). Also, removing unneeded Sleep.h functions. There will be lots more code utilizing ZeroMQ soon. 2016-04-04 23:09:18 -05:00
Jonathan Thomas
45f1b8c5ac Making ImageMagick completely optional. This will simplify packaging on Windows and Mac. Also, reprogrammed Display, DisplayWaveform, Save, and Thumbnail methods, which are much faster now (using Qt). 2016-02-23 00:27:03 -06:00
Jonathan Thomas
276aae35b3 Improvements to exception handling, including using std::exception base class, and better general purpose exception handling in SWIG with Python. Also fixed an error when thowing exceptions inside OMP regions. 2016-02-02 01:09:02 -06: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
03c9f06708 Fixed many audio issues with the FFmpegWriter. Planar formats were not being handled correctly. Framesize was also wrong on some formats. Also, added a new method to a Frame to fill with audio silence. Lastly, cleaned up some unused imports and C++ warnings. 2015-08-02 20:32:33 -05:00