Commit Graph

33 Commits

Author SHA1 Message Date
Stefan Strogin
13290364e7 FFmpegUtilities: replace variable definition with statement expression
It is needed to avoid multiple definitions of AV_GET_CODEC_CONTEXT,
which is considered as an error with '-fno-common' which is default
since gcc-10.

Fixes: #511
2020-05-16 02:33:37 +03: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
SuslikV
59fe417141 Unify indentation of the code strings 2019-08-08 16:46:07 +03:00
FeRD (Frank Dana)
5fb9755353 Fix truncated output filenames in FFmpegWriter 2019-08-06 11:59:55 -04:00
FeRD (Frank Dana)
db51ea1ee0 FFmpegUtilities: inline av_make_error_string
Avoids warnings about the function being unused, if compiling
with `-Wall`

Borrowed from:
222f145230/src/zm_ffmpeg.h (L241)
2019-07-03 03:33:52 -04: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
eisneinechse
c54a3705ff Update FFmpegUtilities.h
Warnings are now silenced in FFmpegUtilities.h, where it should be.
2019-06-20 13:41:03 -07:00
FeRD (Frank Dana)
f170fdd009 Update copyright range to current year 2019-06-11 06:48:32 -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
2c825335c1 Merge branch 'develop' into rename-rshift 2019-05-02 13:24:14 -05:00
FeRD (Frank Dana)
f2db5fdb39 FFmpegUtilities: Rename RSHIFT to FF_RSHIFT
FFmpeg and Ruby have competing definitions of the RSHIFT macro, so
building the Ruby bindings causes warnings to be thrown when it's
redefined. This change defines FF_RSHIFT to replace FFmpeg's RSHIFT,
which is undef'd
2019-01-26 12:23:37 -05: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
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