Jonathan Thomas
22384c7705
FFMPEG 3.2 support for FFmpegWriter (Thanks Peter!)
2018-03-28 15:09:55 -05:00
Jonathan Thomas
26e96e009b
Added in metadata encoding capabilities (writer.info.metadata["title"] = "My Title"). Only certain tag names are accepted (see FFmpeg for more on which tags are supported by which codecs).
2018-03-04 03:10:59 -06:00
Jonathan Thomas
2ea724373d
Experimental codec lookup by name in FFmpegWriter, which should solve a few issues (such as xvid support). Thanks Peter!
2017-11-10 01:02:01 -06:00
Jonathan Thomas
153279fbac
Setting timebase on video stream in FFmpegWriter... a bit experimental
2017-11-08 00:01:42 -06:00
Jonathan Thomas
2fcb35ddcc
Removing throw statements from header files (thanks Peter)
2017-10-26 18:44:35 -05:00
Jonathan Thomas
f0f1b92777
Reducing # of scale operations to 1 per layer on the timeline.
2017-10-26 18:15:16 -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
8b8d91a687
Take 2 - Prevent crashes related to too many threads (on 24+ thread systems)
2017-08-21 16:36:22 -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
564664737a
Fixing crash on Ubuntu build server
2017-08-01 03:24:01 -05:00
Jonathan Thomas
f46611cd7d
Fixed a strange bug related to exporting image sequences. The filename property was not being set on the AVFormatContext. Also fixed a bug when exporting to JPEG image sequences related to max_b_frames and certain codecs.
2017-08-01 01:19:07 -05:00
Jonathan Thomas
8ea9b12b5e
Small change to memory allocation in FFmpegWriter, to be consistent
...
between different versions of FFmpeg/LibAV
2016-07-31 15:18:11 -05:00
Jonathan Thomas
d1aa4050e4
Memory leaks fixed on FFmpegWriter with regards to all_resampled_samples and correct usage of av_freep
2016-07-31 13:56:38 -05:00
Jonathan Thomas
9839899a60
Big memory leak fixes in FFmpegReader and FrameMapper, and fixed logic in Frame Mapper with regards to special framerate conversions (24, 25, and 30)... which were causing some inadvertent audio drift.
2016-07-27 13:18:55 -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
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
95deda88bc
Fixing a bug for newer versions of LibAV and FFmpeg, regarding error codes
2015-10-01 13:00:50 -05:00
Jonathan Thomas
a33b611008
Setting height, width, and format of AVFrame struct used for encoding video, as is now required on newer versions of libAV and FFmpeg.
2015-09-29 20:23:08 -05:00
Jonathan Thomas
66c5ced902
Windows now passes most unit tests. Added header macro to assist on passing correct test media paths to unit tests. Also added a new info parameter has_single_image, which is used to optomize the frame mapper class for images with long durations.
2015-09-28 22:05:50 -05:00
Jonathan Thomas
32d41e780d
Fixed many misc Windows runtime errors and memory-related crashes. Built a few macros for common FFmpeg / LibAV functions that change due to version differences.
2015-09-23 00:27:28 -05:00
Jonathan Thomas
fbc719b11f
Many Windows related fixes and tweaks. Also fixed some issues with newer versions of CMake and Swig files.
2015-08-24 23:49:45 -05: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
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