summaryrefslogtreecommitdiffstats
path: root/libhb/deccc608sub.h
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* sync: correct timestamp discontinuities in sync instead of reader (#192)John Stebbins2016-05-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sync: correct timestamp discontinuities in sync instead of reader This patch passes discontinuity information through the pipeline till it reaches sync.c. The timestamps are passed through the pipeline as read and unmodified to sync.c (instead of attempting to correct discontinuities in reader). In sync, when we see a discontinuity, we know where the next timestamp should be based on the timestamp and duration of the previous buffer (before the discontinuity). So we calculate an "SCR" offset based on the timestamp after the discontinuity and what we calculate it should be. The old discontinuity handling code was broken due to the following. The MPEG STD timing model relies heavily on the decoder having an STC that is phase lock looped to the PCRs in the stream. When decoding a broadcast stream, the decoder can count on the time measure between PCRs using the STC to match to a high degree of accuracy. I.e. STC - lastSTC == PCR - lastPCR. When a discontinuity occurs, the decoder calculates a new PCR offset = PCR - STC. I.e. the offset is the new PCR value minus what it would have been if there had been no discontinuity. The above does not work without a reliable STC, which we do not have. We have been attempting to approximate one by avereraging the duration of received packets and extrapolating an "STC" based on the last PTS and the average packet duration. But this is highly variable and unreliable. * decavcodec: fix data type of next_pts It needs to be double so that partial ticks are not lost * deccc608sub: clarify comment * sync: allow queueing more audio Audio is small, and there is often a significant amount of audio in the stream before the first video frame. * sync: improve handling of damaged streams When data is missing, the audio decoder was extrapolating timestamps from the last pts before the error caused by the missing data which caused sync issues. Also, missing data can cause the video decoder to output a frame out of order with the wrong scr sequence. Drop such frames.
* deccc608sub: fix last_pts data typeJohn Stebbins2016-05-171-1/+1
|
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: add hb_buffer_listJohn Stebbins2015-09-241-0/+1
| | | | | This brings together several independent implementations of a simple buffer list manager.
* deccc608sub: improve CC positioningjstebbins2015-04-051-0/+1
| | | | | | | | The safe zone margin was not wide enough and the font size was a little too small. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7063 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
* deccc608: fix rollup style CC problemsjstebbins2014-09-261-0/+2
| | | | | | | | | | | | The timing of the "erase display" command was incorrect for rollup CC and erased subtitles immediately after they were displayed. When rendering, sometimes rollup subtitles arrived at the renderer far after the frame they should be rendered on. So push rollup subtitles into the pipeline for each new character received when rendering. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6421 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix CC text attributesjstebbins2014-09-081-0/+2
| | | | | | | The attributes (like italic) were not getting cleared when necessary. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6395 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add gpl v2 copyright message do deccc608subjstebbins2014-08-291-0/+9
| | | | | | | much of this work was borrowed from ccextractor which is GPL v2 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6383 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Convert all text subtitles to ASS subsjstebbins2014-04-131-28/+20
| | | | | | | | | Add support for font color to tx3g. Allow more than one style flag at time in tx3g. Add positioning support to CC subs git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6163 b64f7644-9d1e-0410-96f1-a4d463321fa5
* deccc608sub: fix roll-up subtitlesjstebbins2014-04-031-0/+1
| | | | | | | | Roll-up CC timestamps need similar treatment as the popup CC timestamps. Also, the simulated carriage return command that was added during a rollup command was inserting blank lines in the CC, so fix that. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6144 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: enable burn-in of all supported text subtitle formatsjstebbins2014-03-301-0/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6141 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix compiler warnings in several libhb filesjstebbins2010-05-301-3/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3335 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Combine multiple CC lines into one, trimming whitespace, and adding proper ↵eddyg2009-05-071-0/+3
| | | | | | language code based on first audio track language. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2402 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change CC608 decoder to be its own threadeddyg2009-05-071-1/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2396 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Soft Subs Part 2: Auto-detect CC during scan, add CC to subtitle list in ↵eddyg2009-05-041-0/+131
title, if selected then CC's are extracted, MP4 Muxer will dump the subs to the log at the end of encoding. TODO: Translate PTS for buf->start to HB format, add MP4 subtitle track and subs during muxing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2375 b64f7644-9d1e-0410-96f1-a4d463321fa5