Commit Graph

21 Commits

Author SHA1 Message Date
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
64a53283c9 Adding condition before calling av_frame_free (in AV_FREE_FRAME macro) (#184) 2019-01-15 14:58:01 -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
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
95abdcf66b FFmpeg4 support. Compile warnings fixes. Credit goes to many people, including ferdnyc, peterM, and other awesome folks! 2018-08-11 18:22:18 -05:00
Jonathan Thomas
22384c7705 FFMPEG 3.2 support for FFmpegWriter (Thanks Peter!) 2018-03-28 15:09:55 -05:00
Jonathan Thomas
774eb365b3 FFMPEG 3.2 support for FFmpegReader (writer support coming soon) 2018-03-21 02:10:46 -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
bb6102f46f Added support for newer versions of libav media library. 2016-01-07 23:50:48 -06: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
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
a6087dab3a Many improvements to FFmpegReader, including
Better bounds checking, and support at the end of the video file
Improved debug output, which helped resolve many issues
Implemented the newest audio decoding API (old one was depreciated)
Now support packed and planar audio data
Far superier audio resampling support
2015-02-05 00:00:52 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
6bdc12f6a2 Fixed build errors on newer versions of libAV and FFmpeg 2014-06-20 14:41:19 -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
Jonathan Thomas
bc4e58c601 1) Reduced all openmp to use /2 the available CPUs (for performance reasons)
2) Improved detection of pixel format (enabled GIF support.. although it is still flawed a bit)
3) Improved error reporting when video encoding issues happen
2014-03-29 15:39:43 -05:00
Jonathan Thomas
58090ef5fc Added license and copyright to all files. Improved many examples and documentation. Refactored the Coordinate() object, to move a few properties to methods. 2013-09-12 17:52:10 -05:00
Jonathan Thomas
4ce7cd22ba Fixed a build error on Linux... which was a regression from my previous Mac fix. 2013-06-09 14:31:52 -05:00
Jonathan Thomas
6cac382773 Fixed most build warnings on Mac OS X 2013-06-09 01:08:23 -05:00