diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2007-01-17 10:55:01 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2007-01-17 10:55:01 +0000 |
commit | b90ba24b9a0975c410409116e00c67410a4091a5 (patch) | |
tree | cc477e99cb3fb6de107b2a7e06c318c1724df622 /libavformat/mpeg.c | |
parent | 6845801f821f370bf4445702407b346a1be55d3a (diff) | |
download | ffmpeg-b90ba24b9a0975c410409116e00c67410a4091a5.tar.gz |
simplify pts/dts reading
Originally committed as revision 7565 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mpeg.c')
-rw-r--r-- | libavformat/mpeg.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index 7e6a6e8d85..cff9fe2b1e 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -1502,13 +1502,13 @@ static int mpegps_read_pes_header(AVFormatContext *s, c = get_byte(&s->pb); len -= 2; } - if ((c & 0xf0) == 0x20) { + if ((c & 0xe0) == 0x20) { dts = pts = get_pts(&s->pb, c); len -= 4; - } else if ((c & 0xf0) == 0x30) { - pts = get_pts(&s->pb, c); - dts = get_pts(&s->pb, -1); - len -= 9; + if (c & 0x10){ + dts = get_pts(&s->pb, -1); + len -= 5; + } } else if ((c & 0xc0) == 0x80) { /* mpeg 2 PES */ #if 0 /* some streams have this field set for no apparent reason */ @@ -1522,15 +1522,15 @@ static int mpegps_read_pes_header(AVFormatContext *s, len -= 2; if (header_len > len) goto error_redo; - if ((flags & 0xc0) == 0x80) { + if (flags & 0x80) { dts = pts = get_pts(&s->pb, -1); header_len -= 5; len -= 5; - } if ((flags & 0xc0) == 0xc0) { - pts = get_pts(&s->pb, -1); - dts = get_pts(&s->pb, -1); - header_len -= 10; - len -= 10; + if (flags & 0x40) { + dts = get_pts(&s->pb, -1); + header_len -= 5; + len -= 5; + } } len -= header_len; while (header_len > 0) { |