| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Removes old Darwin-specific i386 stuffs and replaces with generic stuffs.
Fixes an issue cross-compiling compiling current master for i686.
|
|
|
| |
This provides compatibility with apple software
|
|
|
|
| |
Closes #742 and closes #767.
|
|
|
|
| |
Fixes https://github.com/HandBrake/HandBrake/issues/602
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes https://github.com/HandBrake/HandBrake/issues/439
|
|
|
|
| |
fixes https://github.com/HandBrake/HandBrake/issues/128
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
fixes https://github.com/HandBrake/HandBrake/issues/587
|
|
|
|
| |
Fixes https://github.com/HandBrake/HandBrake/issues/510
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
The error was small, but could result in a 1ms shift for every
generation of remuxing.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
No functional difference
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
Initial GOP of video was dropped during decode.
Fixes https://github.com/HandBrake/HandBrake/issues/520
|
| |
|
| |
|
|
|
|
|
| |
libav auto enables this if it finds support libs. This causes a
link error, so explicitly disable it.
|
|
|
|
| |
We're not using it (yet) and it seems to be causing build problems with Jenkins.
|
|
|
|
| |
Needed for BT.2020, etc.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
It prevents us from easily upgrading libav to a newer version.
Note: this breaks builds with --enable-qsv
|
|
|
|
| |
Closes #356.
|
|
|
|
| |
download.handbrake.fr now uses https, and some other hostnames do as well.
|
|
|
|
| |
Not necessary since we removed support for dxva2.
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Fixes broken external libraries such as opus, and needed for libav 12, anyway.
|
|
|
|
| |
This is needed for libav 12, anyway.
|
|
|
|
|
|
|
|
|
|
| |
Remove:
hb_audio_samplerate_get_best()
Add:
hb_audio_samplerate_is_supported()
hb_audio_samplerate_find_closest()
hb_audio_samplerate_get_sr_shift()
|
|
|
|
|
|
|
|
| |
Removal of address-of operator made necessary by newer pthreads implementation.
Also adds some return value checking and error reporting.
Resolves #258.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|