shithub: libvpx

Download patch

ref: fba9772dd2e1c2eb0b0ef506128e3723a3f069dc
parent: 0ef72720d0c54be9faa8287652eeab7b4cd5b7fb
author: James Zern <jzern@google.com>
date: Fri Feb 22 06:42:09 EST 2013

vp8_first_pass(): avoid floating point div by 0

Change-Id: Id1e6a12db6b0c1d3f64ead8fd8834aadc30fbed2

--- a/vp8/encoder/firstpass.c
+++ b/vp8/encoder/firstpass.c
@@ -858,7 +858,9 @@
      */
     if ((cm->current_video_frame > 0) &&
         (cpi->twopass.this_frame_stats.pcnt_inter > 0.20) &&
-        ((cpi->twopass.this_frame_stats.intra_error / cpi->twopass.this_frame_stats.coded_error) > 2.0))
+        ((cpi->twopass.this_frame_stats.intra_error /
+          DOUBLE_DIVIDE_CHECK(cpi->twopass.this_frame_stats.coded_error)) >
+         2.0))
     {
         vp8_yv12_copy_frame(lst_yv12, gld_yv12);
     }
--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -749,7 +749,8 @@
       ((cm->current_video_frame > 0) &&
        (cpi->twopass.this_frame_stats->pcnt_inter > 0.20) &&
        ((cpi->twopass.this_frame_stats->intra_error /
-         cpi->twopass.this_frame_stats->coded_error) > 2.0))) {
+         DOUBLE_DIVIDE_CHECK(cpi->twopass.this_frame_stats->coded_error)) >
+        2.0))) {
     vp8_yv12_copy_frame(lst_yv12, gld_yv12);
     cpi->twopass.sr_update_lag = 1;
   } else
--