| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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 since the delay value gets stored in the mkv CodecDelay
element.
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Ugh! I need a brain transplant! This would have cause a properly
functioning player to insert silence at the start of playback that
wasn't in the original source.
reverts 5429a92c51682240acbbe7b150d314d993d7d3a0
|
|
|
|
|
| |
This prevents libav from adding an mp4 edit list entry that causes a
properly functioning player to drop the first couple of audio frames.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- Gong-WPF-DragDrop (Upgraded to 0.1.4.3 -> 1.1.0)
- NewtonSoft.Json (Upgraded to 7.0.0 -> 9.0.1)
- Ookii.Dialogs 1.0
- Caliburn Micro (Upgraded to 2.0.2 -> 3.0.3)
|
| |
|
| |
|
| |
|
|
|
|
| |
HandBrake.ApplicationServices now compiles cleanly under Mono)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
Attempt to access invalid encoder preset index accesses invalid memory
|
| |
|
|
|
|
|
|
|
|
| |
The bob filter predicts the resulting output framerate as 2 * input
framerate. So during 2 pass encoding, we must adjust the framerate with
the knows 1st pass values *after* any predictions made by filters.
Fixes https://github.com/HandBrake/HandBrake/issues/556
|
|
|
|
|
| |
Initial GOP of video was dropped during decode.
Fixes https://github.com/HandBrake/HandBrake/issues/520
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
things randomly.
|
| |
|
|
|
|
| |
"hb.dll". This will allow libhb.dylib and libhb.so to be loaded.
|
|
|
|
| |
and WindowsBase from the Services library. This makes the library more portable.
|
|
|
|
|
|
| |
Better performance and less prone to crashing.
Fixes #540 and closes #558.
|
| |
|
|
|
|
|
| |
When true, this is meant to use the secondary encoder only for the first
selected audio track. It was completely broken :(
|
| |
|
|
|
|
|
| |
encca_aac assumed the first packet start time is 0 which is no longer
the case. We now use edit lists to adjust non-zero start times.
|
|
|
|
| |
the sandboxed build.
|
|
|
|
| |
rescanning if the same file/folder is loaded.
|
|
|
|
| |
Some valid options (e.g. vp9 qmin=0) can crash some libav encoders (mpeg4).
|
| |
|
|
|
|
|
|
|
| |
If extradata is improperly parsed, avcodec_open may fail. Keep trying
avcodec_open as long as there is more data to parse.
Fixes https://github.com/HandBrake/HandBrake/issues/542
|
|
|
|
|
| |
If avcodec_open fails, pv->context->codec is NULL, but work->info may
still be called by scan.
|
|
|
|
| |
not when preferences opens.
|
| |
|
| |
|
| |
|
|
|
|
| |
correctly.
|