summaryrefslogtreecommitdiffstats
path: root/libhb/bd.c
Commit message (Collapse)AuthorAgeFilesLines
* bd: Mark an encode as having a read error if we get too many consecutive bad ↵sr552021-01-131-1/+3
| | | | units. #3339
* Update copyright dates to 2021.Bradley Sepos2021-01-011-1/+1
|
* bd: fix out of array bounds accessJohn Stebbins2020-06-051-6/+11
| | | | | When 4k support was added to libbluray, the possible video format values overran our 'rank' array.
* decavsub: add general purpose avcodec subtitle decoderJohn Stebbins2020-03-291-2/+4
| | | | Currently using it for pgs, srt, and ssa subtitles.
* Update copyright dates to 2020.Bradley Sepos2020-01-011-1/+1
|
* bd: add processing of "secondary" audio tracksJohn Stebbins2019-12-221-11/+110
| | | | | | | | 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
* Correct 'Unreachable code' warningsNomis1012019-11-211-1/+0
| | | | Correct automated code inspection warnings 'Unreachable code' of jetbrains CLion. Partly fixes #2309
* Gardening: Clean up trailing whitespaceNomis1012019-11-041-4/+4
| | | | Remove trailing whitespace in "*.c", "*.m", "*.h" and "*.cpp" files.
* 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
* libhb: eliminate file path length limitsJohn Stebbins2019-08-111-6/+4
|
* Fix some typos (#2202)Nomis1012019-07-311-1/+1
| | | Fix some typos
* dvd: remove dvd specific details from hb_title_tJohn Stebbins2019-07-121-9/+1
| | | | This information isn't needed by the frontends and pollutes the API
* bd: Add support for UHD discsPetri Hintukainen2019-01-201-0/+7
| | | | Fixes #1301
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* bd: handle "broken units" betterJohn Stebbins2018-08-061-20/+46
| | | | | | | | | libbluray detects and skips broken units (6114 byte chunks). But it returns 0 in such cases. We were interpreting this as the end of the title and signalling a successful encode. Instead, look for BD_EVENT_END_OF_TITLE for end of title detection. And perform read retries when bd_read returns 0.
* bd: fix title->name for BDs that have disc infoJohn Stebbins2018-06-281-17/+33
| | | | | This was defaulting to the device name when scanning raw devices, e.g. "sr0" on linux.
* Fix PGS subtitle decoding...John Stebbins2018-06-131-4/+9
| | | | | | | | | | | | | | | | | ...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.
* bd: Don't fail titles with unknown aspectJohn Stebbins2018-06-061-2/+4
| | | | | | Assum 16:9 instead Fixes https://forum.handbrake.fr/viewtopic.php?f=11&t=37836
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* CLI: add option to log version, title, and progress in jsonJohn Stebbins2017-11-061-1/+1
| | | This is useful for scripts and other frontends that need to parse CLI output.
* subtitles: simplify and shorten subtitle descriptions (#591)John Stebbins2017-03-101-5/+7
| | | | | | | | | | | | | | | | | | * 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
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* bd: fix crash when invalid title specifiedJohn Stebbins2016-09-211-1/+4
| | | | fixes https://github.com/HandBrake/HandBrake/issues/272
* bd: log playlist clips at log level 2John Stebbins2016-05-251-0/+22
|
* libhb: send initial chapter through pipelineJohn Stebbins2016-05-171-10/+18
| | | | | Eliminate the need for everyone to assume that the first chapter starts at the first frame.
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* bd: fix discontinuity handlingJohn Stebbins2015-11-121-1/+2
| | | | | | | | 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: detect read errors and propagatejstebbins2015-06-291-9/+25
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7332 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bd: use the correct printf specifier for unsigned variables.Rodeo2015-06-031-7/+7
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7273 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bd: fix printf warningsjstebbins2015-06-031-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7269 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix three warnings.ritsuka2015-06-011-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7259 b64f7644-9d1e-0410-96f1-a4d463321fa5
* stream: Improve transport stream PCR handlingjstebbins2015-04-221-8/+4
| | | | | | | | When a new PCR is seen, emit all currently cached data. This prevents data that was referenced to the previous PCR from being associated with the new PCR. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7120 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Eliminate global variable hb_gui_use_hwd_flagjstebbins2015-03-291-2/+4
| | | | | | | | | | | | This global was shared between the CLI and libhb and used as a back door to force scan and encode passes to use the same ffmpeg context for hardware decoding. Aside from the fact that this context sharing should not be necessary and needs fixing, this information belongs in the hb_handle_t that is shared between the scan and the encode. So put it there and make sure the hb_handle_t get propagated to where the flag is needed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7028 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bd: fix printf format conversion warningjstebbins2015-02-161-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6911 b64f7644-9d1e-0410-96f1-a4d463321fa5
* New audio output options.Rodeo2015-02-151-2/+2
| | | | | | | | | Dolby Digital Plus (E-AC-3), Dolby TrueHD and FLAC can now be passed through without re-encoding. They aren't covered by Auto Passthru yet, however. In addition, encoding to E-AC-3 is now possible. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6908 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update year to 2015.bradleys2015-02-011-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add json APIsjstebbins2014-12-161-3/+6
| | | | | | | | | | There are several changes to job and title structs that break current windows interop code. The interop code should be changed such that it only uses json APIs. So if there is any missing features (or bugs) in these APIs, please let me know. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6602 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: improve preview generateion when there are no IDRsjstebbins2014-10-021-1/+0
| | | | | | | | | | Puts the decoder into a mode that returns *all* frames. I.e. it won't just scan to the end of the file looking for an IDR. Then we decode multiple frames (up to 100) searching for an I frame. This way, the reconstructed frame we use for a preview is more likely to be complete. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6430 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Sanitize BD chapter durationsjstebbins2014-08-111-2/+43
| | | | | | | | | | | | | | It appears some BDs have invalid chapter durations, see https://forum.handbrake.fr/viewtopic.php?f=12&t=30479 This compares chapter start time deltas and title duration to chapter duration to make best guess corrections. Note that chapter events generated by libbluray are based on the chapter start times. So the start time should be trusted more than the duration. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6292 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bd: fix long delays caused by updated libblurayjstebbins2014-06-251-4/+4
| | | | | | | | bd_seek and the new m2ts_filter in libbluray have a bad interaction. So use bd_seek_time instead. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6221 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix overwriting of source pathjstebbins2014-05-271-4/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6206 b64f7644-9d1e-0410-96f1-a4d463321fa5
* demux: fix problem with widely spaced SCRsjstebbins2014-05-131-1/+1
| | | | | | | | | | | | | | | | | Fixes this bug report https://forum.handbrake.fr/viewtopic.php?f=12&t=30032 Split MPEG demuxer into TS demuxer and PS demuxer to allow using different PCR/SCR delta tolerance in each scenario. We were using a PCR/SCR delta tolerance that was a bit of a compromise between the max allowed by the specification for TS vs PS streams. But the spec for TS PCR is 100ms and the spec for PS SCR is 700ms, so we risked false detection of discontinuities in PS. In PS streams that pack multiple frames into one PES packet, the detection of a discontinuity causes recalculation of an scr offset which jumps around wildly. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6183 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: clean up handling dir directory separatorjstebbins2014-02-221-1/+4
| | | | | | | title->name was getting set to an empty string in some cases due to looking for the wrong directory separator. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6057 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove a52decjstebbins2014-02-201-2/+2
| | | | | | | replace it with libavcodec ac3 decoder git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6049 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update some copyright dates to 2014.Rodeo2014-02-181-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6042 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix crashes with some BDsjstebbins2014-01-311-1/+0
| | | | | | | | A stray line of code from the switch from mpeg2dec to libavcodec caused a failure to open the mpeg2 decoder for BDs git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6009 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: set audio description in LookForAudio (scan.c).Rodeo2014-01-251-5/+2
| | | | | | | | | All audio tracks go through it since SVN revision 5424. This is where we have the most information about each audio track. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5996 b64f7644-9d1e-0410-96f1-a4d463321fa5
* remove contrib mpeg2decjstebbins2014-01-131-1/+2
| | | | | | | | We no longer need mpeg2dec. libav now has all the features we need for mpeg2 decoding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5966 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump libav, libav-v10_alpha1-90-g63debaajstebbins2014-01-121-9/+0
| | | | | | | | | Adds interlaced VC1 and HEVC support. Eliminates the need for most of our local patches. Many assorted bug fixes and improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5962 b64f7644-9d1e-0410-96f1-a4d463321fa5