summaryrefslogtreecommitdiffstats
path: root/libhb/stream.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* libhb: make hb_ps_read_packet() more robustSean McGovern2016-07-281-6/+13
|
* Revert "libhb: don't ignore the return result from fread()"Bradley Sepos2016-07-071-12/+7
| | | | | | Broke image previews on Linux and Windows (mingw). This reverts commit b7645e7842703d52c44feaa85cfb3c490e09c8dc.
* libhb: don't ignore the return result from fread()Sean McGovern2016-07-011-7/+12
|
* libhb: pass through "default" subtitle flag ... (#203)John Stebbins2016-05-281-0/+5
| | | ... when applying presets
* stream: create default chapter names for empty chapter titlesJohn Stebbins2016-05-201-1/+1
|
* libhb: send initial chapter through pipelineJohn Stebbins2016-05-171-14/+45
| | | | | Eliminate the need for everyone to assume that the first chapter starts at the first frame.
* stream: fix libav initial timestamp calculationJohn Stebbins2016-05-171-1/+1
| | | | | libav may deliver an initial timestamp that is negative which we were not handling well.
* remove dxva hw decode (#189)John Stebbins2016-05-171-4/+1
| | | | | | | | | * remove dxva hw decode It provides practically no speed increase even on a slow CPU and results in a speed decrease on fast CPUs. And the code is exceptionally fugly. * cli: remove USE_HWD
* stream: fix memory leak during PS stream probeJohn Stebbins2016-04-201-0/+7
|
* stream: fix negative array indexJohn Stebbins2016-03-251-1/+1
|
* stream: fix potential use of uninitialized variableJohn Stebbins2016-03-231-10/+18
|
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: use LL for int64 constants to make mingw happyJohn Stebbins2015-12-261-1/+1
|
* bd: fix discontinuity handlingJohn Stebbins2015-11-121-14/+17
| | | | | | | | Tag only one buffer with discontinuity flag, not multiple. Flush pre-discontinuity buffers before signaling the discontinuity, not after. Make sure discontinuity flag is on the buffer with the PCR change when possible.
* libhb: repair split packets in readerJohn Stebbins2015-11-101-0/+4
| | | | | | | | We split PES packets when there is a PCR change in the middle of the packet. This works fine for audio and video where the decoder parses the ES to find frame boundaries. But it does not work for some decoders such as PGS subtitles. So mark split buffers and reassemble them in reader after processing the PCR change.
* libhb: make muxer, sync, and reader behave like other work objectsJohn Stebbins2015-11-091-1/+1
| | | | | | | | | | | | | simplify job initialization sequence, clean up code, and document dependencies in the sequence better. Make hb_add set job->sequence_id. It is no longer necessary for the frontend to do this. If the frontend needs the sequence_id, it is returned by hb_add(). Clean up use of interjob. do_job() now uses sequence_id to detect when a new sequence of related jobs is running and automatically clears interjob.
* stream: fix pts to buffer start conversionJohn Stebbins2015-11-051-6/+6
| | | | | AV_NOPTS_VALUE was getting modified by subtracting an offset. This lead to garbage start values reaching the muxer and causing hangs.
* libhb: add hb_buffer_listJohn Stebbins2015-09-241-45/+30
| | | | | This brings together several independent implementations of a simple buffer list manager.
* stream: remove unused variable pix_fmtJohn Stebbins2015-09-201-2/+0
|
* libhb: detect read errors and propagatejstebbins2015-06-291-1/+31
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7332 b64f7644-9d1e-0410-96f1-a4d463321fa5
* DXVA2: cleanup decode support checks.Rodeo2015-06-231-32/+2
| | | | | | | This should fix https://forum.handbrake.fr/viewtopic.php?f=11&t=32520 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7310 b64f7644-9d1e-0410-96f1-a4d463321fa5