From 11a8a71d4e31a15dfbbaf7c63c1b452d8c5bcdcb Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 26 Jan 2004 19:04:32 +0000 Subject: [PATCH] mpeg4 pts fix Originally committed as revision 2724 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h263.c | 4 +++- libavcodec/mpegvideo.c | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libavcodec/h263.c b/libavcodec/h263.c index 1a07b528bb..01caf044cc 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -2187,8 +2187,10 @@ static void mpeg4_encode_gop_header(MpegEncContext * s){ put_bits(&s->pb, 1, 1); put_bits(&s->pb, 6, seconds); - put_bits(&s->pb, 1, 0); //closed gov == NO + put_bits(&s->pb, 1, !!(s->flags&CODEC_FLAG_CLOSED_GOP)); put_bits(&s->pb, 1, 0); //broken link == NO + + s->last_time_base= s->time_base; ff_mpeg4_stuffing(&s->pb); } diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index b6720e0c88..7004a9680b 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -795,6 +795,14 @@ int MPV_encode_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "closed gop with scene change detection arent supported yet\n"); return -1; } + + i= ff_gcd(avctx->frame_rate, avctx->frame_rate_base); + if(i > 1){ + av_log(avctx, AV_LOG_INFO, "removing common factors from framerate\n"); + avctx->frame_rate /= i; + avctx->frame_rate_base /= i; +// return -1; + } if(s->codec_id==CODEC_ID_MJPEG){ s->intra_quant_bias= 1<<(QUANT_BIAS_SHIFT-1); //(a + x/2)/x