[SCM] libav/experimental: mpeg4 pts fix

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:39:02 UTC 2013


The following commit has been merged in the experimental branch:
commit 11a8a71d4e31a15dfbbaf7c63c1b452d8c5bcdcb
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Jan 26 19:04:32 2004 +0000

    mpeg4 pts fix
    
    Originally committed as revision 2724 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 1a07b52..01caf04 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 b6720e0..7004a96 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

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list