msmpeg4enc: fix stored fps value
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 12 Apr 2012 08:34:23 +0000 (10:34 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 12 Apr 2012 09:36:17 +0000 (11:36 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/msmpeg4enc.c

index 527d284..db9eaab 100644 (file)
@@ -275,7 +275,8 @@ void ff_msmpeg4_encode_picture_header(MpegEncContext * s, int picture_number)
 
 void ff_msmpeg4_encode_ext_header(MpegEncContext * s)
 {
-        put_bits(&s->pb, 5, s->avctx->time_base.den / s->avctx->time_base.num); //yes 29.97 -> 29
+        unsigned fps = s->avctx->time_base.den / s->avctx->time_base.num / FFMAX(s->avctx->ticks_per_frame, 1);
+        put_bits(&s->pb, 5, FFMIN(fps, 31)); //yes 29.97 -> 29
 
         put_bits(&s->pb, 11, FFMIN(s->bit_rate/1024, 2047));