fix timestamp prediction for low_delay mpeg streams

Originally committed as revision 3751 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 20 years ago
parent e42a152bbc
commit 7984bbe2ce
  1. 1
      libavcodec/parser.c
  2. 6
      libavformat/utils.c

@ -325,6 +325,7 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s,
frame_rate_ext_n = (buf[5] >> 5) & 3;
frame_rate_ext_d = (buf[5] & 0x1f);
pc->progressive_sequence = buf[1] & (1 << 3);
avctx->has_b_frames= buf[5] >> 7;
pc->width |=(horiz_size_ext << 12);
pc->height |=( vert_size_ext << 12);

@ -702,10 +702,8 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
if (st->codec.codec_type == CODEC_TYPE_VIDEO) {
/* XXX: need has_b_frame, but cannot get it if the codec is
not initialized */
if ((st->codec.codec_id == CODEC_ID_MPEG1VIDEO ||
st->codec.codec_id == CODEC_ID_MPEG2VIDEO ||
st->codec.codec_id == CODEC_ID_MPEG4 ||
st->codec.codec_id == CODEC_ID_H264) &&
if (( st->codec.codec_id == CODEC_ID_H264
|| st->codec.has_b_frames) &&
pc && pc->pict_type != FF_B_TYPE)
presentation_delayed = 1;
/* this may be redundant, but it shouldnt hurt */

Loading…
Cancel
Save