mpegts: add fix_teletext_pts mpegts demuxer option
authorMarton Balint <cus@passwd.hu>
Sun, 4 Aug 2013 02:17:22 +0000 (04:17 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 6 Aug 2013 00:47:38 +0000 (02:47 +0200)
commita7bb12a307568c0db72e6eb8d496a5651a8228df
treee1dcf0cbd20c2bae71f9a87c4099300c127bec26
parent4c15f3491f1991554ad497788dfb6ad02b552134
mpegts: add fix_teletext_pts mpegts demuxer option

Changes since v1 of the patch:
- enable option by default
- add documentation
- move up PTS override code after PES header parsing, to ensure we use the
  last PCR before the first packet of the teletext PES packet.

The option overrides teletext packet PTS and DTS values with the timestamps
calculated from the PCR of the first program which the teletext stream is part
of and is not discarded.

Using the same teletext PID for multiple programs is possible, therefore we
need some kind of heuristics to know which program PCR we should synchronize
to. Using the first non-discarded PCR pid among the programs of the teletext
stream seemed like a good choice.

The patch does not do PCR interpolation to estimate the PCR of the teltetext
packet, it just uses the last PCR of the program, which may cause a slight
error (0.1 sec) in the teletext packet pts-es.

Based on a patch by Reimar Döffinger.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131610.html

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
doc/demuxers.texi
libavformat/mpegts.c
libavformat/version.h