]> granicus.if.org Git - libx264/commitdiff
Fix potential infinite loop in VBV under GCC 4.2
authorGabriel Bouvigne <bouvigne@mp3-tech.org>
Tue, 4 Nov 2008 17:56:03 +0000 (09:56 -0800)
committerFiona Glaser <fiona@x264.com>
Wed, 5 Nov 2008 11:07:16 +0000 (03:07 -0800)
encoder/ratecontrol.c

index b1dc7da426ca7f1f91d87cd72efd60ddf9aca662..b6fc1de63c5f17898065ba7d6d7421ad42801174 100644 (file)
@@ -1709,7 +1709,7 @@ static void vbv_pass2( x264_t *h )
             adj_max = fix_underflow(h, t0, t1, 1.001, qscale_min, qscale_max);
 
         expected_bits = count_expected_bits(h);
-    } while(expected_bits < .995 * all_available_bits && expected_bits > prev_bits);
+    } while((expected_bits < .995*all_available_bits) && ((int)(expected_bits+.5) > (int)(prev_bits+.5)) );
 
     if (!adj_max)
         x264_log( h, X264_LOG_WARNING, "vbv-maxrate issue, qpmax or vbv-maxrate too low\n");