]> granicus.if.org Git - libvpx/commitdiff
vp8_first_pass(): avoid floating point div by 0
authorJames Zern <jzern@google.com>
Fri, 22 Feb 2013 19:42:09 +0000 (11:42 -0800)
committerJames Zern <jzern@google.com>
Fri, 22 Feb 2013 20:41:59 +0000 (12:41 -0800)
Change-Id: Id1e6a12db6b0c1d3f64ead8fd8834aadc30fbed2

vp8/encoder/firstpass.c
vp9/encoder/vp9_firstpass.c

index 68095ca68347749c3fd88794f69d13c13af38b39..ba5dd06e436afe53eb71e325ab75da9fab108831 100644 (file)
@@ -858,7 +858,9 @@ skip_motion_search:
      */
     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);
     }
index db981754eeb04b359cb29d347329c8636f8165fc..ed944a7c853650a950948ce43b6f3651e867211a 100644 (file)
@@ -749,7 +749,8 @@ void vp9_first_pass(VP9_COMP *cpi) {
       ((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