| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove Fontconfig on Windows
Let libass use its DirectWrite font provider backend instead of Fontconfig.
This eliminates Fontconfig's font cache generation delay that occurred
at the start of an encode after a system font was (un)installed or when
HandBrake was installed and used to burn text subtitles for the first time.
* Remove LibHB's dependency on Fontconfig when it's not used
|
| |
|
|
|
| |
HarfBuzz uses Fontconfig only in command-line utilities, which we don't need.
|
|
|
|
|
| |
Option --with-fcpath does not exist and never did.
We had a patch that added it, but the patch has been removed.
Use the standard option instead.
|
|
|
|
| |
Closes #518.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* x265: bump to version 2.2
Encoder enhancements
----------------------------------
1. Enhancements to TU selection algorithm with early-outs for improved
speed; use --limit-tu to exercise.
2. New motion search method SEA (Successive Elimination Algorithm)
supported now as –me 4
3. Bit-stream optimizations to improve fields in PPS and SPS for
bit-rate savings through --[no-]opt-qp-pps,
--[no-]opt-ref-list-length-pps, and --[no-]multi-pass-opt-rps.
4. Enabled using VBV constraints when encoding without WPP.
5. All param options dumped in SEI packet in bitstream when info
selected.
6. x265 now supports POWERPC-based systems. Several key functions also
have optimized ALTIVEC kernels.
API changes
-------------------
1. Options to disable SEI and optional-VUI messages from bitstream made
more descriptive.
2. New option --scenecut-bias to enable controlling bias to mark
scene-cuts via cli.
3. Support mono and mono16 color spaces for y4m input.
4. --min-cu-size of 64 no-longer supported for reasons of visual quality
(was crashing earlier anyways.)
5. API for CSV now expects version string for better integration of x265
into other applications.
Bug fixes
--------------
1. Several fixes to slice-based encoding.
2. --log2-max-poc-lsb‘s range limited according to HEVC spec.
3. Restrict MVs to within legal boundaries when encoding.
* x265: bump to version 2.3
Encoder enhancements
----------------------------------
1. New SSIM-based RD-cost computation for improved visual quality,
and efficiency; use --ssim-rd to exercise.
2. Multi-pass encoding can now share analysis information from prior
passes (in addition to rate-control information) to improve performance
and quality of subsequent passes; to your multi-pass command-lines that
use the --pass option, add --multi-pass-opt-distortion to share
distortion information, and --multi-pass-opt-analysis to share other
analysis information.
3. A dedicated thread pool for lookahead can now be specified with
--lookahead-threads.
4. --dynamic-rd dynamically increase analysis in areas where the bitrate
is being capped by VBV; works for both CRF and ABR encodes with VBV
settings.
5. The number of bits used to signal the delta-QP can be optimized with
the --opt-cu-delta-qp option; found to be useful in some scenarios for
lower bitrate targets.
6. Experimental feature option:–aq-motion adds new QP offsets based on
relative motion of a block with respect to the movement of the frame.
API changes
-------------------
1. Reconfigure API now supports signalling new scaling lists.
2. x265 application’s csv functionality now reports time (in milliseconds)
taken to encode each frame.
3. --strict-cbr enables stricter bitrate adherence by adding filler bits
when achieved bitrate is lower than the target; earlier, it was only
reacting when the achieved rate was higher.
4. --hdr can be used to ensure that max-cll and max-fall values are
always signaled (even if 0,0).
Bug fixes
--------------
1. Fixed incorrect HW thread counting on MacOS platform.
2. Fixed scaling lists support for 4:4:4 videos.
3. Inconsistent output fix for --opt-qp-pss by removing last slice’s
QP from cost calculation.
4. VTune profiling (enabled using ENABLE_VTUNE CMake option) now also
works with 2017 VTune builds.
* x265: remove unnecessary module.defs defines
|
| |
|
| |
|
| |
|
|
|
|
| |
We stopped supporting XP awhile back. Removal is necessary for NUMA. Closes #539.
|
| |
|
|
|
|
| |
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
|
|
|
|
| |
Fixes https://github.com/HandBrake/HandBrake/issues/535
|
| |
|
| |
|
|
|
|
|
|
| |
Sierra.
When built with Xcode 8 and run on El Capitan or earlier, HandBrake could crash when attempting to burn soft subtitles.
|
| |
|
|
|
|
| |
Automake fails if version < 1.15.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Unreleased bug fix. Original commit on the fontconfig master branch: https://cgit.freedesktop.org/fontconfig/commit/?id=0e9b2a152729bfd457e656a9258a06cbfdac1bae
|
|
|
|
|
| |
libav auto enables this if it finds support libs. This causes a
link error, so explicitly disable it.
|
|
|
|
| |
Should be automatic, but it seems libmfx's configure script sometimes assumes libva is present. Hopefully this fixes Jenkins.
|
|
|
|
| |
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
|
|
|
|
| |
Accidentally reverted the last update in 72bf6f7 (Bradley's fault).
|