summaryrefslogtreecommitdiffstats
path: root/libhb/stream.c
Commit message (Collapse)AuthorAgeFilesLines
* bd: add processing of "secondary" audio tracksJohn Stebbins2019-12-221-6/+11
| | | | | | | | There are actually 2 types. One "secondary" audio type is designated by a distinct stream id. The other "secondary" audio type is disignated by being in a separate "secondary" audio list. Maybe fixes https://github.com/HandBrake/HandBrake/issues/2501
* Gardening: Clean up trailing whitespaceNomis1012019-11-041-1/+1
| | | | Remove trailing whitespace in "*.c", "*.m", "*.h" and "*.cpp" files.
* fix warnings when compiling with clang.Damiano Galassi2019-09-261-18/+0
|
* libhb: resolve header conflicts with pango/harfbuzzJohn Stebbins2019-09-121-3/+3
| | | | | | | Newest versions appear to have a "common.h" somewhere that is interfering with libhb/common.h. move headers into "handbrake" subdirectory
* Resolve conflict with harfbuzz include file hb.hJohn Stebbins2019-09-101-1/+1
| | | | Rename hb.h to handbrake.h
* stream: fix size of subtitle extradataJohn Stebbins2019-08-261-1/+1
|
* stream: fix subtitle extradata buffer over-readJohn Stebbins2019-08-261-1/+2
| | | | looking for null in non-null-terminated buffer bad :*(
* libhb: eliminate file path length limitsJohn Stebbins2019-08-111-5/+9
|
* stream: improve track name selectionJohn Stebbins2019-08-111-13/+57
| | | | | | ffmpeg will suppliy mulitple metadata entries for 3gpp track name entries if there are language specific names in the source. Pick the "best" option.
* add subtitle track name read/writeJohn Stebbins2019-08-111-3/+7
| | | | | | | | | | | | | | | | 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
* libhb: make source audio track name available to frontendsJohn Stebbins2019-08-111-2/+7
| | | | | | | | | | | | | 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.
* stream: fix building of subtitle list in PES filesJohn Stebbins2019-07-311-1/+1
| | | | | a very old cut & paste error. people must not use subtitles in PES much ;)
* Fix some typos (#2202)Nomis1012019-07-311-3/+3
| | | Fix some typos
* stream: add support for eia 608 subtitle tracksJohn Stebbins2019-07-171-0/+7
| | | | | | | 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
* Fix dropped audio when embedded CC sub is selectedJohn Stebbins2019-07-151-2/+2
| | | | | | | 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
* libhb: pass AV_PKT_FLAG_DISCARD through to decoderJohn Stebbins2019-05-021-1/+5
| | | | | | | | 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
* stream: Improve probing of unknown streamsJohn Stebbins2019-02-111-48/+146
| | | | Fixes detection of MPEG-1 in program streams
* Add SSA subtitle importJohn Stebbins2019-01-141-1/+2
|
* fix missing frames when transcoding m2ts filesJohn Stebbins2019-01-071-1/+2
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/1611
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* Fix rotation of video flagged with 0 rotationJohn Stebbins2018-12-251-0/+1
| | | | | | Only breaks in cases that video is *explicitely* flagged with 0 rotation. Fixes https://github.com/HandBrake/HandBrake/issues/1750
* stream: enable probing for all unrecognized stream typesJohn Stebbins2018-11-061-1/+1
| | | | Fixes https://forum.handbrake.fr/viewtopic.php?f=5&t=38200
* Fix PGS subtitle decoding...John Stebbins2018-06-131-18/+42
| | | | | | | | | | | | | | | | | ...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.
* decssasub: Fix decoding SSA subtitlesJohn Stebbins2018-06-091-29/+10
| | | | | | | 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
* libhb: build: README: Replace instances of Libav with FFmpeg.Bradley Sepos2018-05-291-2/+2
|
* contrib: Use AV_CODEC_ID_ASS for FFmpeg.Bradley Sepos2018-05-281-2/+2
|
* Using AV_CODEC_ID_SUBRIP instead of AV_CODEC_ID_SRT (libav->ffmpeg)Sven Gothel2018-05-281-2/+2
| | | | | | 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
* libhb: Increase maximum packet read size in stream.c.Bradley Sepos2018-05-131-1/+1
| | | | | | Previous value maxed out at lossless x264 4K or so, new value should be large enough for lossless x264 8K. Fixes #1334.
* Misc. typosluz.paz2018-02-201-2/+2
| | | Found via `codespell -q 3 --skip="./gtk/po`
* libhb: fix a number of issues reported by clang.Damiano Galassi2018-01-121-3/+9
|
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* stream: better probing of PS filesJohn Stebbins2017-11-271-1/+1
| | | | | | | | 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
* Auto-rotate video that has rotation tagJohn Stebbins2017-11-091-0/+2
|
* libhb: read video rotation from libav.Damiano Galassi2017-11-091-0/+31
|
* CLI: add option to log version, title, and progress in jsonJohn Stebbins2017-11-061-1/+10
| | | This is useful for scripts and other frontends that need to parse CLI output.
* stream: Improve stream type detection through probingJohn Stebbins2017-05-251-39/+21
| | | | | | 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.
* stream: fix chapter marker durationsJohn Stebbins2017-04-281-5/+20
| | | | | libav isn't guaranteed to set AVChapter.end. So don't use it. Use AVChapter.start instead.
* Fix raw video timestampsJohn Stebbins2017-04-091-0/+4
| | | | | | 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 (#591)John Stebbins2017-03-101-10/+13
| | | | | | | | | | | | | | | | | | * 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
* decavcodec: drop initial_padding audio samplesJohn Stebbins2017-02-211-6/+7
| | | | | | 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.
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* stream: fix SRT subtitle durationJohn Stebbins2016-12-221-0/+1
|
* stream: fix SRT detectionJohn Stebbins2016-12-171-0/+1
| | | | libav changed the codec id they use for SRT in mkv
* unref AVPackets, fix merge issuesJohn Stebbins2016-12-171-2/+0
|
* stream: fix use of deprecated libav interfacesJohn Stebbins2016-12-171-91/+87
| | | | AVStream.codec is deprecated, use AVStream.codecpar
* libhb: fix small leaksJohn Stebbins2016-12-141-0/+10
| | | | fixes various context leaks in error conditions
* libhb: Fix possible null pointer dereference in stream.c.midzer2016-12-141-6/+6
|
* stream: fix invalid ES packet generationJohn Stebbins2016-12-101-2/+2
| | | | In some cases, the PES header was included in the "ES" data.
* stream: be more forgiving of TS continuity errorsJohn Stebbins2016-11-211-4/+8
|
* libhb: use the new keyframe flag.Tim Walker2016-09-171-2/+3
|