[FFmpeg-cvslog] Revert "mpegts: do not set pts for missing dts in video streams"

Michael Niedermayer git at videolan.org
Sun Mar 2 13:16:48 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Mar  2 12:41:10 2014 +0100| [0bf882864ecd228d53555c57595eeca048662991] | committer: Michael Niedermayer

Revert "mpegts: do not set pts for missing dts in video streams"

This reverts commit f65afef1df49f53e14c8d4173ff960fff8d44ecb.

If only pts is coded then dts must be equal pts
See Rec. ITU-T H.222.0 (06/2012) / ISO/IEC 13818-1:2013 (E) 2.7.5

Found-by: Baptiste Coudurier

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0bf882864ecd228d53555c57595eeca048662991
---

 libavformat/mpegts.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index a7819ca..242d353 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -996,10 +996,7 @@ static int mpegts_push_data(MpegTSFilter *filter,
                 pes->pts = AV_NOPTS_VALUE;
                 pes->dts = AV_NOPTS_VALUE;
                 if ((flags & 0xc0) == 0x80) {
-                    pes->pts = ff_parse_pes_pts(r);
-                    /* video pts is not monotonic, can't be used for dts */
-                    if (pes->st->codec->codec_type != AVMEDIA_TYPE_VIDEO)
-                        pes->dts = pes->pts;
+                    pes->dts = pes->pts = ff_parse_pes_pts(r);
                     r += 5;
                 } else if ((flags & 0xc0) == 0xc0) {
                     pes->pts = ff_parse_pes_pts(r);



More information about the ffmpeg-cvslog mailing list