summaryrefslogtreecommitdiffstats
path: root/contrib/ffmpeg
Commit message (Collapse)AuthorAgeFilesLines
* contrib: Improve Libav configuration and compiler flags on 32-bit Intel.Bradley Sepos2017-07-201-14/+6
| | | | | | Removes old Darwin-specific i386 stuffs and replaces with generic stuffs. Fixes an issue cross-compiling compiling current master for i686.
* muxavformat: override h.265 'hev1' with 'hvc1' (#782)John Stebbins2017-06-141-0/+48
| | | This provides compatibility with apple software
* contrib: Update to Libav 12.1.Bradley Sepos2017-06-138-357/+3
| | | | Closes #742 and closes #767.
* libav: fix h264 decode errorJohn Stebbins2017-04-111-0/+35
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/602
* libav: a more robust fix for aac encoder crashJohn Stebbins2017-03-081-17/+94
|
* qsv: libav's patch fixmaxd2017-03-051-9/+9
|
* qsv: adding hevc10 support starting from KBL platformmaxd2017-03-051-0/+149
|
* libav: simplify patch for corrupt raw videoJohn Stebbins2017-03-011-27/+8
|
* libav: gracefully handle a broken AVI indexJohn Stebbins2017-02-271-0/+42
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/439
* libav: fix rawvideo in mkv corruptionJohn Stebbins2017-02-261-0/+44
| | | | fixes https://github.com/HandBrake/HandBrake/issues/128
* libav: fix latm aac decoder hangJohn Stebbins2017-02-231-0/+71
| | | | | | | | | Don't return EAGAIN from decoders. When waiting for codec parameters, the decoder returned EAGAIN which was meant to be interpreted as "send more data". But the new libav decoder API changed the definition of EAGAIN to mean "send the same packet again". So hang.
* libav: fix reading wmv larger than 2GJohn Stebbins2017-02-231-0/+27
| | | | fixes https://github.com/HandBrake/HandBrake/issues/587
* libav: fix crash when encoding aac at high bitrateJohn Stebbins2017-02-231-0/+28
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/510
* libav: fix mkv seek crashJohn Stebbins2017-02-211-0/+57
| | | | | | Remove hopelessly broken code that attempted to rewind the seek point to a position in the file where subtitles in every subtitle track after the seek time are after the computed position.
* libav: extract initial_padding from mp4 edit listJohn Stebbins2017-02-211-0/+42
|
* libav: fix mp4 edit list delay rounding errorJohn Stebbins2017-02-211-10/+14
| | | | | The error was small, but could result in a 1ms shift for every generation of remuxing.
* libav: explicitly write encoder delay and preroll to mp4John Stebbins2017-02-202-0/+178
| | | | | | | | | | This will make it possible to read encoder delay back and drop the samples appropriately. Writing preroll sample group to the mp4 fixes post-processing of the file with Apple tools. If the roll sample group is not present, Apple tools will apply an implicit rule to remove encoder delay which results in the delay being dropped twice.
* libav: revise edit list offset patchJohn Stebbins2017-02-191-37/+67
| | | | No functional difference
* libav: fix mkv timestamps when initial_padding is setJohn Stebbins2017-02-151-0/+12
| | | | | | initial_padding is used to inform libav muxers of initial encoder delay duration. When set for mkv it can be used to remove the silence samples during playback.
* libav: fix mp4 edit list A/V sync properlyJohn Stebbins2017-02-151-7/+69
|
* libav: fix failure to scan wmv fileJohn Stebbins2017-02-151-0/+117
| | | | | | | | | Fixes problem reported here https://forum.handbrake.fr/viewtopic.php?f=11&t=35690 Also possibly related https://github.com/HandBrake/HandBrake/issues/466 https://github.com/HandBrake/HandBrake/issues/495
* libav: fix crash when scanning wmv fileJohn Stebbins2017-02-151-0/+31
| | | | | | | | | | | Fixes crash reported here https://forum.handbrake.fr/viewtopic.php?f=11&t=35690 Does not fix scan problem, but follow-up commit will. Also possibly related https://github.com/HandBrake/HandBrake/issues/466 https://github.com/HandBrake/HandBrake/issues/495
* libav: fix mp4 audio sync problemJohn Stebbins2017-02-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial CTS (composition offset) was essentially getting added twice to the computed PTS Fixes https://github.com/HandBrake/HandBrake/issues/568 Here's a description of how mp4 timestamps work and what is going wrong for the curious. Terminology: pts = presentation timestamp, when a frame is displayed dts = decode timestamp, when a frame is decoded cts = composition offset, pts - dts empty edit = defines the pts of the first frame in an mp4 track mp4 timestamps are computed from 3 primary values that are in the mp4 stream. An "empty edit" in the track edit list per frame duration per frame cts Here's where things get messy. How do you compute pts(N) and dts(N) for some frame N from only the above 3 values in the mp4 file? empty edit == pts(0) and is read from the mp4 file (EDTS table) duration(N) is read from the mp4 file (STTS table) cts(N) is read from the mp4 file (CTTS table) We know cts(0) = pts(0) - dts(0) by definition of cts And cts(0) and pts(0) are known since they can be read from the mp4 file This is the step libav gets wrong! Therefore we can compute dts(0) = pts(0) - cts(0). libav computes dts(0) = pts(0) which shifts all frames by cts(0) After that dts(N) = dts(0) + duration(0) + ... + duration(N-1) And finally pts(N) = dts(N) + cts(N)
* libav: fix h.264 initial recovery point detectionJohn Stebbins2017-02-091-0/+20
| | | | | Initial GOP of video was dropped during decode. Fixes https://github.com/HandBrake/HandBrake/issues/520
* libav: fix EIO error when reaching EOF of DV filesJohn Stebbins2017-01-111-0/+37
|
* libav: fix SRT subtitle durationJohn Stebbins2016-12-221-0/+31
|
* libav: disable vdpauJohn Stebbins2016-12-211-0/+1
| | | | | libav auto enables this if it finds support libs. This causes a link error, so explicitly disable it.
* contrib: Disable libav vaapi.Bradley Sepos2016-12-171-0/+1
| | | | We're not using it (yet) and it seems to be causing build problems with Jenkins.
* contrib: Add libav colr patch to support new color signaling in mov.Bradley Sepos2016-12-171-0/+57
| | | | Needed for BT.2020, etc.
* contrib: enable avcodec's libmfx (Intel QSV) support when applicable.Tim Walker2016-12-171-4/+3
|
* contrib: Update to Libav 12.Bradley Sepos2016-12-1716-2887/+3
|
* libhb: fix build with --enable-qsvTim Walker2016-12-171-3/+4
| | | | | | | | | | Convert qsv_livav.[ch] to be built within libhb. Convert other files to use qsv_libav.h in place of libavcodec/qsv.h Don't attempt to build libav with QSV support (not available in unpatched release/11 branch). QSV-accelerated decoding is broken, so disable it for the time being.
* libav: remove our custom QSV wrapper.Tim Walker2016-12-171-2309/+0
| | | | | | It prevents us from easily upgrading libav to a newer version. Note: this breaks builds with --enable-qsv
* contrib: Use SHA256 instead of MD5 for contrib archive checksums.Justin Scholz2016-12-151-5/+5
| | | | Closes #356.
* contrib: Use https where possible.Bradley Sepos2016-12-141-1/+1
| | | | download.handbrake.fr now uses https, and some other hostnames do as well.
* contrib: Do not configure libav with dxva2.Bradley Sepos2016-09-061-6/+0
| | | | Not necessary since we removed support for dxva2.
* contrib: Drop libav --enable-memalign-hack when cross-compiling for Windows.Bradley Sepos2016-09-051-2/+0
| | | | | | | | It hasn't been necessary for some time now, and has been removed upstream. See: https://git.libav.org/?p=libav.git;a=commitdiff;h=4fb311c804098d78e5ce5f527f9a9c37536d3a08 https://lists.libav.org/pipermail/libav-devel/2016-August/078631.html
* contrib: Libav module cosmetics.Bradley Sepos2016-09-031-11/+9
|
* contrib: Use PKGCONFIG.exe when building libav on mingw.Bradley Sepos2016-09-031-0/+5
| | | | Fixes broken external libraries such as opus, and needed for libav 12, anyway.
* contrib: Fix libav not finding opus on certain versions of OS X.Bradley Sepos2016-09-021-6/+2
| | | | This is needed for libav 12, anyway.
* contrib: Add opus audio encoder.John Stebbins2016-09-021-1/+3
| | | | | | | | | | Remove: hb_audio_samplerate_get_best() Add: hb_audio_samplerate_is_supported() hb_audio_samplerate_find_closest() hb_audio_samplerate_get_sr_shift()
* qsv: Fix crash attempting to destroy mutex.maxd2016-07-281-35/+38
| | | | | | | | Removal of address-of operator made necessary by newer pthreads implementation. Also adds some return value checking and error reporting. Resolves #258.
* contrib: fix PTHREADW32 dependency condition for libav.Tim Walker2016-07-071-1/+4
|
* contrib: Threading fixes in pthreads-w32 and libav.Bradley Sepos2016-07-071-6/+4
|
* libvpx: bump to 1.5.0John Stebbins2016-05-271-0/+27
|
* enable libvpx VP9 encoderJohn Stebbins2016-05-271-0/+2
|
* contrib: Update comments in contrib modules.Bradley Sepos2016-05-251-1/+1
|
* contrib: Add upstream urls where local mirror of file now exists.Bradley Sepos2016-05-251-6/+4
|
* contrib: Add upstream urls where possible.Bradley Sepos2016-05-251-0/+7
|
* Build: refactor fetch for contrib tarballsKonaBlend2016-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fetch is now python-based and runs on the same version as does configure. The source script is make/fetch.py. New features: MD5 hash tracking for tarballs. Data values for all contribs added. Upon download, the file will be verified, and only then will it be moved into place inside downloads/ . Files that exist before the build system does a fetch will not be md5-checked. Multiple URLs for tarballs. Each module may specify one or more URLs and by convention the official HandBrake should be first when possible. Each URL is tried in sequence, and if it fails for any reason, the next URL is tried. If no URL succeeds, a hard-error is reported. Network fetching may be disabled via configure options. --disable-fetch will hard-error if a fetch is attempted. --accept-fetch-url=SPEC and --deny-fetch-url=SPEC offer an ACL-style mechanism using regex to match against URLs. For example, --accept-fecth-url='.*/download.handbrake.fr/.*' would skip any non-matching URLs. Build dependencies have been lightened. wget and curl are no longer required. TODO: GTK packaging should also be able to remove those deps.