| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Remove trailing whitespace in "*.c", "*.m", "*.h" and "*.cpp" files.
|
| |
|
|
|
|
|
|
|
| |
Newest versions appear to have a "common.h" somewhere that is
interfering with libhb/common.h.
move headers into "handbrake" subdirectory
|
|
|
|
| |
Rename hb.h to handbrake.h
|
| |
|
|
|
|
| |
looking for null in non-null-terminated buffer bad :*(
|
| |
|
|
|
|
|
|
| |
ffmpeg will suppliy mulitple metadata entries for 3gpp track name
entries if there are language specific names in the source. Pick the
"best" option.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Works similar to audio track names.
If source has a subtitle track name, hb_subtitle_t.name is set.
To set output subtitle track name, set hb_subtitle_config_t.name.
Source track names are available in title returned by hb_title_to_dict
and hb_title_to_json in SubtitleList[].Name
In job dict it is also SubtitleList[].Name
hb_preset_job_init and hb_preset_job_init_json initialize output tracks
with the source track name.
Also adds subtitle name support to LinGui
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It gets stored in new hb_audio_config_t.in.name field.
It is available in the title dict read through hb_title_to_dict() or
hb_title_to_json() in AudioList[].Name.
When a job is initialized with hb_preset_job_init or
hb_preset_job_init_json(), output audio tracks are initialized with the
source track name.
Also adds output track name initialization to LinGui.
|
|
|
|
|
| |
a very old cut & paste error. people must not use subtitles in PES
much ;)
|
|
|
| |
Fix some typos
|
|
|
|
|
|
|
| |
eia 608 embedded in video was supported (i.e. ffmpeg frame side
data AV_FRAME_DATA_A53_CC), but not as it's own track.
Fixes https://github.com/HandBrake/HandBrake/issues/1300
|
|
|
|
|
|
|
| |
The subtitle ID assigned to CC embedded in video collided with regular
track IDs in some file types.
Fixes https://github.com/HandBrake/HandBrake/issues/2103
|
|
|
|
|
|
|
|
| |
Edit list cuts are not always on keyframe boundaries and therefore
sometimes require dropping frames after decoding them.
AV_PKT_FLAG_DISCARD tells us when to do this.
Fixes https://github.com/HandBrake/HandBrake/issues/1900
|
|
|
|
| |
Fixes detection of MPEG-1 in program streams
|
| |
|
|
|
|
| |
Fixes https://github.com/HandBrake/HandBrake/issues/1611
|
| |
|
|
|
|
|
|
| |
Only breaks in cases that video is *explicitely* flagged with 0 rotation.
Fixes https://github.com/HandBrake/HandBrake/issues/1750
|
|
|
|
| |
Fixes https://forum.handbrake.fr/viewtopic.php?f=5&t=38200
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...And add a timebase to every stream.
ffmpeg's subtitle decoder internally converts the packet pts to
AV_TIME_BASE units based on AVCodecContext.pkt_timebase. If
pkt_timebase is not set, the PGS subtitle decoder only returns
AV_NOPTS_VALUE for timestamps. So setting pkt_timebase in decpgssub.c
fixes PGS subtitle decoding.
Confusingly, the subtitle decoder does not convert the pts *back* to the
input timebase, but instead leaves them in AV_TIME_BASE units upon
returning a decoded subtitle.
To get a head start on fixing any other such issues that might arrise, I
have also set pkt_timebase in all other avcodec decoders.
|
|
|
|
|
|
|
| |
ffmpeg delivers the SSA subtitles in the matroska packet format we
require, so no parsing is necessary now.
Fixes https://github.com/HandBrake/HandBrake/issues/1406
|
| |
|
| |
|
|
|
|
|
|
| |
This fixes issue https://trac.ffmpeg.org/ticket/6304
See https://github.com/HandBrake/HandBrake/pull/981#issuecomment-347364763
See https://github.com/HandBrake/HandBrake/issues/974#issuecomment-353986772
|
|
|
|
|
|
| |
Previous value maxed out at lossless x264 4K or so, new value should be large enough for lossless x264 8K.
Fixes #1334.
|
|
|
| |
Found via `codespell -q 3 --skip="./gtk/po`
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The probe did not inspect enough data and did not always detect all
streams.
Thanks to josephpaul0
Fixes https://github.com/HandBrake/HandBrake/issues/1023
|
| |
|
| |
|
|
|
| |
This is useful for scripts and other frontends that need to parse CLI output.
|
|
|
|
|
|
| |
If the stream is damaged, a probe can fail due to bad data at the
start of the probe buffer. So try filling the probe buffer from
multiple start positions in the file.
|
|
|
|
|
| |
libav isn't guaranteed to set AVChapter.end. So don't use it. Use
AVChapter.start instead.
|
|
|
|
|
|
| |
Raw video has no timestamps. But we drop frames in sync that have no
timestamps. So detect raw video and extrapolate timestamps from
framerate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* subtitles: simplify and shorten subtitle descriptions
Generally, it eliminates parens to make things more readable.
I.e. it turns this:
English (Closed Caption)(Wide Screen)(Bitmap)(VOBSUB)
Into this:
English, Closed Caption [Wide Screen, VOBSUB]
* Revise punctuation per BradleyS request
* fix subtitle description formatting
* incorporate suggestions from PR
|
|
|
|
|
|
| |
These are samples that were not in the original source and were added by
the encoder. To get a faithful reproduction of the source, they must be
dropped.
|
| |
|
| |
|
|
|
|
| |
libav changed the codec id they use for SRT in mkv
|
| |
|
|
|
|
| |
AVStream.codec is deprecated, use AVStream.codecpar
|
|
|
|
| |
fixes various context leaks in error conditions
|
| |
|
|
|
|
| |
In some cases, the PES header was included in the "ES" data.
|
| |
|
| |
|
| |
|