compute b_per_i_or_p value correctly, patch by Thierry Foucu, tfoucu at gmail dot com
authorThierry Foucu <tfoucu@gmail.com>
Thu, 12 Feb 2009 00:08:44 +0000 (00:08 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 12 Feb 2009 00:08:44 +0000 (00:08 +0000)
Originally committed as revision 17166 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/gxfenc.c

index fd72bd0..73c8360 100644 (file)
@@ -175,8 +175,11 @@ static int gxf_write_mpeg_auxiliary(ByteIOContext *pb, GXFStreamContext *ctx)
         ctx->p_per_gop = ctx->pframes / ctx->iframes;
         if (ctx->pframes % ctx->iframes)
             ctx->p_per_gop++;
-        if (ctx->pframes)
+        if (ctx->pframes) {
             ctx->b_per_i_or_p = ctx->bframes / ctx->pframes;
+            if (ctx->bframes % ctx->pframes)
+                ctx->b_per_i_or_p++;
+        }
         if (ctx->p_per_gop > 9)
             ctx->p_per_gop = 9; /* ensure value won't take more than one char */
         if (ctx->b_per_i_or_p > 9)