Moved DOUBLE_DIVIDE_CHECK to denominator (was on numerator)
authoragrange <agrange@google.com>
Fri, 18 Jun 2010 14:18:09 +0000 (15:18 +0100)
committeragrange <agrange@google.com>
Mon, 21 Jun 2010 14:20:52 +0000 (15:20 +0100)
The DOUBLE_DIVIDE_CHECK macro prevents from divide by 0,
so must be on the denominator to work as intended.

Change-Id: Ie109242d52dbb9a2c4bc1e11890fa51b5f87ffc7

vp8/encoder/firstpass.c

index 7625c9c..74feca3 100644 (file)
@@ -217,7 +217,7 @@ int frame_max_bits(VP8_COMP *cpi)
     // If we are running below the optimal level then we need to gradually tighten up on max_bits.
     if (cpi->oxcf.end_usage == USAGE_STREAM_FROM_SERVER)
     {
-        double buffer_fullness_ratio = (double)DOUBLE_DIVIDE_CHECK(cpi->buffer_level) / (double)cpi->oxcf.optimal_buffer_level;
+        double buffer_fullness_ratio = (double)cpi->buffer_level / DOUBLE_DIVIDE_CHECK((double)cpi->oxcf.optimal_buffer_level);
 
         // For CBR base this on the target average bits per frame plus the maximum sedction rate passed in by the user
         max_bits = (int)(cpi->av_per_frame_bandwidth * ((double)cpi->oxcf.two_pass_vbrmax_section / 100.0));